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 the lead content creator at an innovative tech company.

Cameron as Santa

Review

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.
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.

Penang

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

LESSON #3 FOCUS

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

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

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

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

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

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

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

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

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

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

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

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

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

Programming Time Today: 2:17

Total Programming Time: 8:50

Day 5

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

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

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

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

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

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

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

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

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

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

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

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

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

Time Programming Today: 2:10

Total Programming Time: 11:01

Day 6

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Time Programming Today: 4:13

Total Time Programming: 15:16

Day 7

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Programming Time Today: 2:48

Total Programming Time: 18:03

Day 8

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

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

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

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

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

Programming Time Today: 0:20

Total Programming Time: 18:23

Day 9

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

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

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

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

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

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

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

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

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

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

Programming Time Today: 2:22

Total Programming Time: 20:45

Day 10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Programming Time Today: 1:38

Total Programming Time: 22:24

Day 11

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

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

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

Programming Time Today: 0:43

Total Programming Time: 23:07

Day 12

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Programming Time Today: 2:24

Total Programming Time: 25:31

Day 13

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

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

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

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

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

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

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

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

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

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

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

Programming Time Today: 2:17

Total Programming Time: 27:49

Day 14

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

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

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

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

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

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

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

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

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

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

span {background-color: Yellow;}

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

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

Programming Time Today: 2:21

Total Programming Time: 30:10

Day 15

Time for another day of programming.

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

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

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

div div h1 {insert styling here}

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

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

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

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

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

h1:first-child {color:blue;}

Example HTML code…

<body>

<h1> </h1>

<p> </p>

<h1> </h1>

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

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

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

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

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

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

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

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

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

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

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

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

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

Programming Time Today: 4:15

Total Programming Time: 34:25

Day 16

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

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

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

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

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

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

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

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

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

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

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

/* and */

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

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

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

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

Programming Time Today: 2:40

Total Programming Time: 37:05

Day 17

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

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

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

Programming Time Today: 1:33

Total Programming Time: 38:37

Day 18

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

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

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

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

Programming Time Today: 0:24

Total Programming Time: 39:02

Day 19

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

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

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

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

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

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

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

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

var example= “Something”.

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

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

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

prompt(“insertPromptHere”)

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

CONCLUSION: Just a decent day today.

Time Programming Today: 1:30

Total Programming Time: 40:32

Day 20

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

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

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

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

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

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

Programming Time Today: 1:09

Total Programming Time: 41:42

Day 21

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

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

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

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

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

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

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

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

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

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

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

Programming Time Today: 2:31

Total Programming Time: 44:14

Day 22

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

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

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

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

&&

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

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

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

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

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

Time Programming Today: 2:02

Total Programming Time: 46:16

Day 23

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

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

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

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

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

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

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

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

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

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

Programming Time Today: 2:49

Total Programming Time: 49:05

Day 24

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

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

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

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

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

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

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

var counter = 0;

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

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

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

Programming Time Today: 0:59

Total Programming Time: 50:04

Day 25

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

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

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

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

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

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

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

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

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

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

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

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

Programming Time Today: 1:40 2:29

Total Programming Time: 51:44 52:33

Day 26

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

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

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

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

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

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

var classInformation = students.concat(testScores);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Time Programming Today: 5:20

Total Programming Time: 57:54

Day 27

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

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

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

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

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

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

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

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

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

Programming Time Today: 2:02

Total Programming Time: 59:56

Day 28

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

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

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

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

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

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

Time Programming Today: 2:03

Total Programming Time: 62:00

Day 29

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

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

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

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

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

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

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

background-repeat: no-repeat;

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

Programming Time Today: 2:24

Total Programming Time: 64:24

Day 30

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

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

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

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

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

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

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

Time Programming Today: 2:03

Total Programming Time: 66:28

Slumming It Up VS Living The Baller Lifestyle

I’ve been on the road for over a year now. During this time I’ve had periods of extreme frugality. I’ve had times where I’d skip the bus and walk for an hour to save $0.30. I’ve had times where working at home was difficult due to slow internet speeds, yet I’d refuse to go to a cafe with faster internet because I wanted to save the $1.40 a drink would cost me. I’ve had times where I’ve stayed in hotels as cheap as $6/night.

I’ve also had times where I’d basically said fuck it to budgeting. I’ve had times where I’ve stayed in luxurious hotels with rooftop pools costing $400 a night. I’ve had times where I’d get a taxi to the mall when it was only a 5 minute walk away. I’ve had times where I’d take my dates to any restaurant in the city and pay for them without a second thought.

You can probably guess that one’s quality of life isn’t being maximized if they’re willing to spend an hour walking to save just $0.30. Yet contrary to what you expect, I also wasn’t happiest during the times I’d allowed myself to spend money without any concern for the future.

However, before I tell you the conclusion I’ve come to in regards to personal spending, let’s quickly compare some behavioral differences between the man that protects his pennies and the man that’s quick to throw his money at any perceived need or desire.

Penny Protector

*Is willing to spend signficant time researching how they can reduce their expenses
*Often inconvenience themselves to conserve money
*Often sacrifice or live repetitive social lives (spending less time with others, doing the same activities, and/or eating at the same restaurants)
*Willing to sacrifice personal comfort to save some money
*Sometimes passes on experiences or material goods they money could purchase even if spending that money would lead to a true increase in their quality of life
*May use the law of compounding interest to convince themselves their extreme frugality will be worth it one day

The Impulsive Purchaser

*Often willing to spend the majority, if not the entirety of his salary to get the most luxurious lifestyle his income will provide.
*May think spending money is a way of impressing others.
*May be using money as a way to avoid discomfort (taking taxis instead of walking short distances, leading with money in their dating lives because they feel lonely and desperately want someone to share their time with, etc.
*Usually fails to see how the money they spend obligates them to future work commitments (ex. If someone making $15/hour after tax spends $5 on ice cream they’ve effectively enslaved themselves to 20 minutes of work to pay for their ice cream.)

The Best Personal Spending Philosophy

You don’t have to be a genius to recognize that neither the penny protector, nor the impulsive purchaser are managing their money in the ideal way. There’s elements of both that you’ll want to incorporate in your personal spending philosophy. Your personal motivations and goals will determine just how far you’ll lean towards slumming it up or living a baller lifestyle.

In general however, the list below should give you a baseline for how to manage your finances. The intelligent spender understands that…

*Time is more valuable than money. If one can use money to buy back their time it’s often worth it. (Ex. taking a bus instead of walking, hiring a maid to do your cleaning and laundry, etc.)

*Spending a sufficient amount of money on your social life will help provide you with a healthy quantity and variety of social interactions.

*Using money isn’t an effective means of impressing or gaining the affection of women. At the same time, it can still be used to in a number of ways to make you a more attractive man with a better dating life. Money can purchase you a gym membership, quality food, the means to practice interesting hobbies (guitar, martial arts, travel, etc.) as well as an attractive and well-located apartment to bring your girl(s) back to.

*Purchases are contracts that bind you to the number of hours you’ll have to work to pay for them. (Ex. at $15/hour after tax a $450/month apartment requires 30 hours of work/month. However, a $750/month apartment will require 50 monthly hours of work at $15/hour after tax.)

*It’s worth spending extra money if doing so will lead to a marked improvement in quality of life. There’s no use saving $30/month on your apartment if it’s filled with bugs and gets you a toilet that doesn’t flush.

*Spending money on activities or tools likely to lead to a future increase in earnings is never a bad idea. Purchasing a faster computer that doesn’t spend an hour everyday loading while you work is an investment that’ll pay for itself and more over time.

*Managing one’s energy is hugely important. Spending  money on high-quality food, a gym membership, and a good bed will give you more energy to produce well paid work. Even hiring someone to do your taxes or visa papers is often a good use of your money as it saves you time and preserves your energy and focus for the activies you use to generate income.

*Sometimes living simply can inspire greater creativity. Without the internet or an abundance of recreational activities available to you, it’s often easier to focus on work and the other important fundamentals in your life.

###
Was inspired to write this post while staying in a $6/night hotel room in Phnom Penh. I was amused at the contrast after staying at the internationally reknown Singapore Marina Bay ($300-$400+ per night) last year. Completing this post was made significantly easier as this simple guesthouse doesn’t even include free wi-fi.



How To Save Time and Money On Airport Taxis

After walking out of the airport you have just one more leg on the journey to your final destination. You’re either getting picked up by a family/friend, taking a bus, or catching a cab. If you’re catching a cab the most common way of doing so is simply to wait in line. However, like most things in life, the most popular way of doing something isn’t necessarily the best.

The problem with waiting in the taxi lines is that you’ll have to wait for all the people ahead of you to get a taxi first. This can often take longer than if you simply tried flagging down a cab on the street. Another problem is that many airports have airport departure fees that get tacked on the final fee your driver charges you.

A quick solution that’ll save you time and money is to skip the airport taxis and walk 3-4 minutes outside the terminal. From there you can catch a taxi on the street. This often saves you time because you’re not waiting behind a long line of other people to get a taxi. You’ll also save money because you can walk in the general direction of your destination and won’t have any airport departure fee to pay.

Another side benefit to this method is that it may help you avoid the scam taxi companies that solicit passengers at the airport. Though scam taxi companies are on the streets as well, they’re often a lower percentage of the total taxis on the street than than in the airport terminal. Of course, you’ll want to be educated on the reputable taxi companies in any case.
###
Just a quick little idea I had the idea to share after my last minute trip to Da Nang, Vietnam in March 2016. Finally got around to editing the video, and writing this blog post today.



5 Ways to Make Friends in Any City While Traveling

Traveling with family and friends is an excellent way to develop a deeper relationship with them. Unfortunately, they’re not always up to it. Certain people are in fixed mindsets and aren’t open to having the new experiences traveling inevitably brings.

Others are focused on work projects or have other commitments that make joining you at this time impractical. Of course, there’s also the possibility that you’re simply taking trips your families and friends aren’t interested in.

Regardless, traveling alone doesn’t have to be lonely. However, it can be. I’ve taken trips where I’ve gone multiple days without any conversation beyond ordering food. I’ve also taken trips where I’ve spent an entire day eating at restaurants, taking motorbikes around the city, and living it up at the beach for an entire day with locals.

I’m sure you can guess which type of trip is more refreshing and culturally insightful. The people you meet often have a greater impact on you than the things you see. That’s why we’re going deep today on a number of ways you can meet new friends on your travels.

Utilize Existing Connections
I’ve never been to France. I don’t know French. Yet, one of the long-time readers of this blog is from France. In the past he’s offered to show me around his city, and expose me to the most interesting parts of French culture should I ever visit.

Similarly, I’ve never been to Germany. I don’t know German. Fortunately, if I want to visit Germany I won’t need German to make friends. When I was in high school I befriended several foreign exchange students from Germany. I even planned a US road trip with one of them (though it fell through).

After showing them around my town in the US a couple years ago, I’d bet there’s a pretty good chance they’d be happy to reconnect and show me their life in Germany.

You probably have more friends (or at least acquaintances) living in other cities and abroad than you think. The kid from Argentina you used to play soccer with, your best friend that moved across the country for work, the girl from high school that moved back to China after finishing university.

Take some time to think about people from your past you’ve lost contact with. There’s a good chance things went cold with many of them not because of a lack of compatibility, but simply because of the increased distance between the two of you. A trip to their city ensures you’ll have a fun friend to show you around the city, and can be a great way to rekindle a forgotten relationship.

Meet Bloggers/Online Personalities
Before I came to Asia last year I lacked even a single real life friend. However, another digital nomad my age had a blog that happened to mention he was living here. I decided to contact him. A few months later we met in Saigon, Vietnam and became friends. He also plugged me into the freelancer and entrepreneur scene here which introduced me to even more people.

In almost any city you’d like to travel to there’s likely an interesting blogger that lives there. Get in touch with them. Most online personalities are more accessible than you’d think. If you make the effort to visit their city, most will at least make time to share a cup of coffee with you.
(As of April 2016, and for the foreseeable future I’ll be living in Saigon, Vietnam. If you’re ever nearby, get in touch)

Social Media
Instagram allows you to search for photos near your current location. This can be a great way to meet people that are near you. Like a few of their pictures, and then leave them a comment or private message saying you’re in their city (I do both. The reason is that some people are too shy to reply to strangers using the public comments while others don’t check their private messages and won’t even know you tried to contact them.)

Using this technique in Da Nang, Vietnam last month I befriended several locals my age. We ate at several restaurants together, took a motorbike day-trip to another city, played soccer, and relaxed around the fire at a late night beach party.

This technique may not work on every trip you’ll take, but it’s a good trick to have. Other social media platforms like Facebook or Twitter likely have similar features that would make it easy to meet people near you.

However, I only have Instagram. I’m  not maintaining an active account on other sites so you’ll have to explore their available features yourself.

Online Dating
Although a complete disaster in the US, online dating can actually be incredibly effective abroad. Virtually every girl I’ve dated and the majority of local friends I’ve made the past year have been through an app like Tinder, Badoo, etc.

Online dating is also a godsend when you don’t speak the local language. You can use it to quickly filter for people that speak English, or one of the other languages you’re fluent in. Of course, it’d be manipulative to take advantage of your date as an unpaid tour guide.

However, they won’t feel this way assuming you’re a reasonably socially calibrated person. Just focus on amplifying and sharing positive emotions between the two of you. When you come from this frame your date will enjoy herself and enthusiastically share her culture with you. You may even get some extra culturing at the end of the date!

Real Life Interactions
If you enjoy playing soccer, go to the park and play soccer. If you like to drink, head to the bouncing bar of the night. Doing the things you like to do is a great way to meet those with similar interests. Of course, while doing these things puts you in a position to meet new friends it isn’t enough.

Kicking a soccer ball alone with your headphones in or sitting in the corner of the bar slouched with a frown isn’t going to make you any friends. You have to be proactive and initiate conversations with others to have any consistent success with this method.

Conclusion
We didn’t exhaust every method of meeting others while traveling. There’s other options such as Couchsurfing, staying in hostels, using MeetUp, etc. These are just a few of the strategies I’ve used to make friends while bouncing between different countries and cities this past year. Hopefully you’ll be able to get some use out of these ideas during your travels as well.

###
Two blog posts in two weeks for the first time since August. Whoooop!



Why You Should Take Last Minute Trips

A few weeks ago I was getting burnt out by life in Ho Chi Minh City. It had been about a month since my family had been in town and since then I’d gotten stuck in the same routine. Do work, eat five chicken legs from the same restaurant for lunch, and then go on a date or do more hustling. I love the cafe work culture and liveliness of this city, but things can get old after a while.

This happens to almost everybody after some period of time. You can delay this feeling by making changes to your daily routine, but eventually you long for something different.

When you live in the small town you grew up in you may crave action. Why is everybody here so boring? Does nobody have aspirations beyond making 60k a year and getting married?  Isn’t there things to do with my friends beyond going to the movies or bowling?

Yet, when you live in a chaotic city like Ho Chi Minh you eventually crave peace. At what point did I decide living in a city with horrendous air pollution was a good idea? Why can’t I walk on the sidewalk without an endless steam of motorbikes beeping and attempting to drive past me? Have I really chosen to live in a city where I’m pleasantly surprised when I’m able to walk thirty- seconds without seeing garbage in the street?

Almost everyone can relate to one of the previous two scenarios. However, not everyone has the flexibility to continually rotate a month of life in the big city with a month of life in a small town. For this reason, short trips have an enormous benefit. They allow you to maximize the upsides of life in your city while minimizing the downsides.

Live in a big city? Excellent. Hustle, make connections, have a great dating life, and enjoy all the other perks living in the city brings. Take a short weekend holiday to a more laid back town once a month to refresh and enjoy the nature and serenity your city may not be able to provide you.

Live in a small town? Enjoy the low stress lifestyle, nature, and relaxed vibe. Take short trips into economic city centers near you on occasion to network, attend interesting events, or simply enjoy the abundant energy the streets of these cities provide.

A short trip once a month is a great way to keep yourself stimulated and breakup the monotony of the daily grind. Planning these trips can provide a pleasurable anticipation that helps you get through difficult moments at work or rough patches in your personal life.

However, as great as planned short trips can be, I’ve found that last minute trips can often be an even better value for hustlers. Here’s why…

Last Minute Trips Give You The Ultimate Flexibility

When you decide to take a trip at the last minute you don’t ever have to worry about canceling flights or hotels due to unforeseen circumstances. You also have the ability to take the trip when it’s most convenient for you.

Some weeks you’ve got lots on your plate and need to work six or seven days. Other weeks are quieter and may only require three days of your attention. Taking a last minute trip allows you to capitalize on this. You won’t have stress about taking a holiday when you’re too busy with work, or spend a long weekend alone at home bored because things are quiet.

You Can Get Out Of Your Routine Exactly When You Need To

Sometimes we’re genuinely happy with where we are in life. Sometimes we’re completely content with staying in the same place and have no need or desire to travel. Taking last minute trips helps you avoid traveling and/or wasting money when you’re perfectly fine with life where you’re at.

On the other hand, taking last minute trips can also help you escape burnout. When you’re feeling grinded down by your daily life you can change things up when doing so will have the greatest possible positive impact for you.

You Can Save Money

Typically booking transportation and accommodation in advance will get you the cheapest prices. This is especially true if you have your heart set on traveling to a certain city or staying in a particular hotel.

However, occasionally booking a flight or hotel a few days or even a few hours in advance will get you a cheaper price. Why? Because sometimes airlines or hotels believe that by lowering their prices they may end up getting a last minute traveler to give them something rather than allowing their seats or rooms to stay empty.

If you’re flexible with your destination, you can usually find a good deal on transportation. Please note this isn’t always the case, however.

Often airlines and hotels will jack up their prices for last minute travelers. This is because most people plan travel weeks or months in advance. Often airlines believe that a last minute traveler booking flights is traveling either for business or an emergency. In either case, the airline knows they can charge almost any price and the traveler will be forced to pay it.

You Can Sometimes Save Time

Sometimes when we plan a trip we forget that our time has value. It’s easy to spend endless hours searching for a slightly better deal. However, is it worth spending an hour per week for the next month searching for a cheaper flight? If you manage to get a good deal you may pay $240 for your flight instead of $300. In this case, your research “saved” you $15/hour. That may or may not be worth it to you.

It’s common, however, to spend a month looking at ticket prices only to see little change. Maybe instead of getting your ticket for $300 you instead pay $284. In this case, your research only delivered a payout of $4/hour!

When planning travel it’s important to remember the value of your time. Last minute trips are great because you don’t have excess time to worry about “Will this be the best ticket price I can get?” or “Should I go on this say or that day?” You just take the best deal available and your entire trip can be planned in a few short minutes.

Conclusion

This post isn’t meant to discourage you from planning your trips. I’ll probably still me taking more planned trips than spontaneous ones (especially when flying over other forms of transportation).

However, I do hope this post opened your eyes to the possibility of adding some excitement into your life by taking a last minute adventure. Everyone should wake up one day without plans, and find themselves in a faraway city that night at least once.

###

Two more videos from the Da Nang trip already recorded and coming along with new blog posts soon! Just gotta do some video editing and write up the blog posts this week.



Introspection: A Smart Cut To Success

I recently finished reading Smart Cuts by Shane Snow. If you haven’t already, I’d recommend you check it out as soon as you have the opportunity to do so. Reading Smart Cuts has the potential to greatly reduce the time it’ll takes you to attain success in whatever endeavor you’re pursuing.

It’ll be worth your time to read the entire book, but here are some key insights to hold you over until you have the opportunity to do so. In italics are quotes from the book followed by my thoughts in bold.

“When interpreting their own failures, individuals tend to make external attributions pointing to factors that are outside their direct control such as luck. As a result, their motivation to exert effort on the same task in the future is reduced.”

By failing to take responsibility for your failures, you’re inhibiting your ability to adopt behaviors and habits more conductive to your success. Simply put, if the circumstances of your life are the result of luck, why bother trying?

“When doctors failed due to what they perceived as bad luck they didn’t tend to work any smarter the next time.”

If you don’t identify your approach as the problem, you have no inclination to change it. Human beings are machines of habit. Furthermore, we don’t tend to tweak our habits unless we see reason to do so.

“Banging your head against the wall,” and stagnating is what happens when you fail to realize failures (or limitations) can be overcome by changing your approach.

“People explain their successes and failures by attributing them to factors what will allow them to feel as good as possible about themselves.”

You have to be disciplined when you examine your life. Rationalizing your failures and overblowing your successes is the lesser man’s consolation.

Those who reach their full potential do so because they’re willing to endure the pain of full honesty with themselves. This is the path for the growth-oriented individual, and also the one that leads to the most long-term prosperity.

“Even though an individual failure experience may contain valuable knowledge, without subsequent effort to reflect on that experience the potential learning remains untapped.”

We have the potential to learn from everything. Yet, we rarely take advantage of this. One of the quickest ways to accelerate your growth is to give yourself time to reflect on your experiences. However, while doing this you must enter an egoless state.

It’s important to reflect on and analyze experiences, not through the lens of past beliefs or in a way that’ll allow you to feel good about yourself.

Rather, you have to dissect your experiences as if you’re observing another entity. The aim of your dissections then isn’t to judge yourself, but to optimize this separate entity’s performance.

Here’s a simple analogy Shane offers in the book, criticism isn’t negative feedback on the jokester. It’s feedback on the joke.

“While logging hours of practice helps us see patterns subconsciously, we can often do just as well by deliberately looking for them.”

Attaining mastery inevitably requires a significant investment of your time. However, this time can be signficantly cut by consciously searching for ways to adjust your behaviors and actions.

###
This is a relatively short post today, but I’m hoping you got some value out of it. I recorded the video in Penang, Malaysia in January 2016, but just got around to writing this post today.

Things have been crazy this past month with different projects, a trip to Mui Ne in Vietnam, as well as hosting some family that came to visit me in Vietnam. Let’s hope for more videos from exotic locations coming soon!



Everything You Need To Know About Breakups

I’d been dating a girl for the past ten months. I had a few crushes in middle school and high school, but this was my first serious relationship. This was the second girl I’d ever kissed.

This was the girl I lost my virginity to. This was the girl I almost married and had a child with (not a logical decision, but the result of inexperience and elated emotions).

There were times during our relationship that I experienced tremendously powerful feelings for her. I frequently thought about how I could spend the rest of my life in Vietnam with her.

Or even better, how I could create a life where I could continue traveling and she could come with me.

After the first three months of our relationship I was down to my last $1,000 and had to head back to the United States. Once there I worked my ass off for 2.5 months to save over $3,000.

I debated giving up the digital nomad lifestyle to head back to college. I didn’t want to, but it was so much more practical to do so. I just didn’t know how to make money online.

Well, I knew the theory of it, but I wasn’t executing properly. I got caught in the trap of trying to make passive income while I slept, rather than establishing a base level of cash flow first. Yet, in my heart I knew what the right thing to do was.

I had to take what Elliott Hulse refers to as the “Call to adventure.” I knew that there was a very real chance I’d fail and be unable to sustain myself in Vietnam.

Yet, I also knew I had to give things at least one more effort before leaving the love of my life and heading to a mediocre state school like the rest of my peers.

My girlfriend at the time was the biggest motivator to do so. The thought of her moving on was what ultimately pushed me over the edge in returning to Asia rather than going to college (or at least spending several more months working in the U.S, before traveling again).

I knew a girl can’t hold on forever, so I had to be quick. I knew that every moment I was away, it became more and more difficult for her to hold on and another man had an opportunity to sneak in.

That’s what gave me the blind courage to head back to Vietnam with a few thousand dollars and no idea how I was going live after it ran out. After 2.5 months in the U.S, I got cheap flight to visit Tokyo for a few days before heading back to Saigon, Vietnam.

I can still remember walking out the doors of the airport in Vietnam. I heard her call my name. I saw the tremendous joy on her face. Her eyes shined, almost in disbelief that the man she fell in love with had finally made it back to her.

I was just as happy. It was a scene from a movie. After all the adversities and nights spent thinking about each other; we were finally back together.

It was time for the lights to fade into the darkness. The curtains would close, the credits would play, and we’d live happily ever after.

At least that’s what I thought. Of course, the universe doesn’t always give you what you want; It gives you what you need.

At first our relationship resumed as if I’d never left. For the first month or two, we were both tremendously happy. Yet, things slowly degraded from there. I grew more distant over time. I was frustrated by what I perceived to be her relative inability to grow alongside me.

This was one of several factors that led me to the realization she was not the person I wanted to spend the rest of my life with. I also craved freedom and didn’t want to commit to a girl long-term yet.

It seemed important to date other girls first to gain a clearer perspective on what was most important to me.

I tried to repress these thoughts at times, but they stayed lingering in my head. Of course, things continued to grow worse. How could they not?

Any relationship is doomed when a partner has one foot in the relationship and the other foot out. Yet, I kept trying to believe that somehow things would change.

I wanted to believe that perhaps through osmosis my drive and determination to improve myself would rub off onto her.

I wanted to believe that the first girl was special, and that spending my entire life with one woman was better than any alternative. Driving every rationalization, however, was my underlying fear of change.

This was the only girl I’d ever had sex with. This was the only girl I’d ever been in a loving relationship with. I did not know life abroad without her.

I kept putting off the breakup. What finally spurred me to take action was a conversation with my uncle.

I told him I knew on an intellectual level that I should break up with her, but that I just hadn’t done it. I explained to him that I had one foot in the relationship and one foot out.

He said, “Well it seems to me you’re not being very honest with her, and you know… Whenever you’re not being honest with someone, you’re really not being honest with yourself.”

That was it. A few days later I saw her and broke her heart. I cried too because it was difficult to let go, but I knew it’s what had to be done.

I tried to be gentle, but I was a bit too soft in breaking up with her. This resulted in additional pain for her because it left her with the impression that our relationship could somehow be salvaged.

I’ve now given you more than enough information on my relationship and breakup. What I think would be much more valuable for you, however, is the knowledge I’ve acquired from this.

I’m clearly no relationship expert. I’m not a guru talking down to you right now. Simply consider this a letter to my past self. Pieces of wisdom and advice I would give to a younger Cameron.

In The Beginning
Many of the problems that will occur during your relationship are the result of not setting boundaries or expectations at the beginning of the relationship. This is to be mostly expected in your first relationship as you don’t know exactly what you want.

In your first relationship you’re likely to be illogical and run with your emotions most of the time. This is not a character flaw. It’s the result of you having a lack of relationship experiences you can reference.

With that being said, do your best to avoid this to the extent you can. Also, try to resist making grandiose plans for the future with your partner. Making these plans can be lots of fun.

If you’re in the honeymoon phase, they are likely to be just as lovestruck as you are (especially if your partner lacks relationship experience).

Yet, making these plans can create unrealistic expectations for the relationship before you truly know whether you’ll be able to commit to it.

Before The Breakup
This phase begins once you have serious thoughts about ending a relationship. Not everyone has this phase in their relationships. You won’t have this phase if your relationship lasts forever and you never question whether you’d be happier without your partner.

This isn’t likely, especially from your first relationship, but theoretically it’s possible.

It’s also possible to never have this phase if you’re content for the duration of your relationship, but your partner chooses to end things.

The biggest piece of advice, especially for someone in their first relationship is that you’re going to doubt your decision. The longer the relationship, the more you’ll doubt things as well.

You’ll ask, “Will I be able to find someone else? (If you have more confidence in yourself it may be, will I be able to find someone else as good?)”

When a relationship has problems it’s easy for you to rationalize that things will somehow get better. This is because you’re afraid of the unknown. You’ve grown accustomed to the stability your relationship brings.

It’s natural you want to preserve that stability even if it guarantees you’ll remain in a mediocre or toxic relationship. Realize, however, that the ending of your relationship is almost a foregone conclusion if it’s something you continually revisit.

This is because there’s at least one fundamental incompatibility between the two of you that is causing you to repeatedly consider breaking up.

The Breakup
Don’t be wish-washy. Don’t sugercoat things. Breaking up gently and leaving the other person with hope is the easy thing to do. It seems like you’re trying to protect the other person’s emotions, but you’re actually being selfish.

You’ll rationalize the reason you are leaving the other person with hope is because you don’t want to hurt them. Yet, the truth is you’re doing a gentle breakup because you want to avoid the discomfort of telling your partner the cold truth.

Any uncertainty you have around your decision will also manifests itself in sugarcoating things because you want to leave yourself the possibility of coming back to your partner if things don’t work out.

Be noble. Tell the truth. Tell it exactly how you see it. You don’t have to be mean, but it is your duty to be honest. This is what you’d do if your partner’s feelings were truly your first priority.

After The Breakup
Cut contact from your ex. Get rid of anything they’ve given you that has sentimental value. Block their phone number. Block them on social media. Delete old text messages. Delete old pictures. If you think you’ll regret deleting things, at least archive them somewhere you won’t see them.

Get out there. Socialize. Maybe you need some time off from the opposite sex. That’s fine. Catch up with your friends and family. Don’t mistake taking off time from the opposite sex as being self-indulgent and taking time off of life.

Being self-indulgent after a breakup leaves you highly susceptible to depression. Self-indulgence drains your self-esteem and is unattractive. Even if you’re not ready to be hitting up the opposite sex, take care of yourself.

Hit the gym. Eat clean foods. Read new books. Make time for your hobbies. Meditate. Consider diving deeper into your professional life (while being careful of falling into workaholism if you have the type of personality that could lead to it).

Different people take different time to be ready to be intimate with the opposite sex. For some it’s therapeutic to get out there right away, for others it makes them sick.

Be self-introspective. Consider consulting with someone close to you whose advice you value. When you’re ready, get back out there.

Once you get out there, treat the new people in your life with a clean slate. Don’t compare them to your ex. You’ll want to do this. You WILL do this. But, try to minimize it to the extent you can.

When you compare someone to your ex, you’re prolonging your recovery. You’re reinforcing the reality that he/she isn’t here anymore, rather than moving on to a new reality.

You’re also being unfair to the new people you meet. Just because your ex didn’t live up to your expectations does not mean you have to be jaded with other members of the opposite sex.

If you go out there jaded your interactions will align with your attitude. You’ll reinforce your jaded reality.

You can’t generalize. All members of the opposite sex are not the same. But, if you go out there making generalizations you’ll find that people often live up to the expectations you set for them.

Summary

  • Set boundaries and expectations from the beginning of your relationship.
  • Realize you will follow your emotions and act illogically in your first relationship. Be aware of this, and use your awareness to minimize illogical behaviors to the extent you can.
  • The stability a relationship brings is seductive even if the relationship isn’t what is best for you.
  • If you repeatedly consider breaking up with your partner, the ending of the relationship is all but a foregone conclusion.
  • Don’t sugarcoat things when you break up with your partner. You’re not protecting their feelings. You’re being selfish. Be noble and tell the truth exactly how you see it.
  • Cut contact from your ex and get rid of everything that reminds you of them.
  • After your breakup focus on the fundamentals: Diet, exercise, meditation, socializing, work, etc
  • Get out there when your ready, but don’t make comparisons to your ex. Doing so only prolongs your recovery. Also avoid making generalizations about the opposite sex as these tend to be self-reinforcing.

###

Maybe this post is a bit different than the stuff you’ve read from me in the past, but I think there’s some real gems in here. I’ve learned a ton from this breakup. Hopefully reading this has helped you if you’re young and going through something similar.



Cam Goes Back to Class! (3 Insights For More Effective Lessons and Conversations)

Hey guys what’s up??? Sorry for going silent on you this past month. I just finished my TESOL (Teaching English to Speakers of Other Languages) course here in Vietnam.

I wanted to develop a greater understanding of how we learn languages and indeed I did. Even more than that, however, I learned a lot about the psychology of students in general.

The concepts I’m going to share with you are useful far beyond teaching English in the classroom. If you apply them in your own life you’ll become a far better teacher and conversationalist.

1) Cater Your Speech to Your Audience’s Interest
This concept here is key. While it’s true that passion is contagious, it’s only true to a certain extent. If you’re super passionate about wine you can draw me into your reality for a while with talk about the slight differences you can perceive in exotic wines, but even in IDEAL scenarios you’re still going to lose me (a non-drinker) before too long. This doesn’t mean you can’t talk about wine with me, however.

It just means you need to make a slight adjustment to make the subject relatable. If instead of talking about the flavor of different wines you instead talked about how your passion for wine developed and how you believe others can find or develop hobbies they’re passionate about you’re much more likely to keep me engaged. Why? Because I see that the conversation is relevant to me, you’re able to relate with me, and because there may be some practical value I can extract from the conversation.

The same goes with even this blog post. Why am I talking to you in general concepts and relating them to improving your conversational skills rather than focusing on teaching English? Because you’ve probably never taught English and thus are unlikely able to relate or be in a position to find that information to have much practical value.

Catering your speech to the interest of your audience will make it much more likely they’ll take something away from their conversation with you. It also makes them more likely to engage and insert their input into the conversation, which makes things more interesting for both of you!

2) Warming
Are you the kind of person that thinks small talk is pointless and just wants to get to the point? I don’t blame you. I was like that growing up too. Especially in business conversations I never understood why they’d ask me about the town I grew up in or what sports I enjoyed playing in high school? I always thought it was totally inauthentic. Shut the fuck up. We both know why we’re here. Let’s put together a deal and make some fucking money.

What I’ve since come to learn, however, is that even in business or educational settings people need time to get comfortable with you. When you jump straight into your speech without addressing and acknowledging the other person without some level of small talk beforehand it has the potential to cause more difficulty for you for one BIG reason.

It doesn’t give the other person time to feel comfortable and open up to you. Remember when you were a kid and your dad would yell at you to swing the bat differently or your mom would scream at you to clean your room? You likely closed yourself off to them emotionally because you felt they didn’t understand you, and even if their advice was valid you didn’t heed it to the extent you would’ve if they’d asked nicely.

The reality is that just not being mean doesn’t prevent a conversation from dying. Showing the other person that you care about them, and value them as a human being and not just a business or social commodity is HUGE.

When you make someone feel that you care about them they begin to care about you as a person as well AND they become infinitely more receptive to any material you may be attempting to convey to them. Apply this concept in your life alone and you’ll drastically increase the interest others take in you even if you don’t consider yourself a particularly interesting person. Being interested in others is one of the best ways to be seen as interesting yourself.

3) Explain New Concepts Based On Existing Points of Reference
Imagine you’re learning English. Someone tells you to meet them on their front porch. You ask, “What does front porch mean?”

They reply, “Well you know, it’s just like the back porch, but it’s in the front of my house.”

Would that help you? Not really, you’d know a front porch wasn’t in the back of the house, but you still wouldn’t know what the word porch meant. Why was your friend’s explanation unhelpful? Because they tried to explain a concept to you using a point of reality you’d never established.

Language is a great example of this concept because we intuitively understand that if someone doesn’t understand a word that we shouldn’t use that word in a definition for itself. Instead, we’re more likely to offer that person examples, show them pictures, or simply give them a definition using other words that they already know.

The same applies to all teaching. You can only expand others’ realities by building upon points of reference they’ve already established. Understanding this concept is perhaps THE biggest differentiator between poor teachers and great ones.

Poor teachers lose their students by answering questions with tangents that exist outside the student’s knowledge base while great teachers relate new information to old information that the student already understands. The great teacher and poor teacher can both have the same level of knowledge themselves, but only the great teacher leverages their knowledge in a way that allows students to absorb it.

###

Hey, hope you enjoyed the post! It’s something that’s really boiled inside of me over these past few weeks as I dove deep into the psychology of the teacher-student dynamic. I’ve got some SEO work for a client that I gotta hit hard so I’m gonna shoot out now. Subscribe to the blog so that you don’t miss out on KICKASS posts in the future, and feel free to check out my books on Amazon until next time. Peace!

[grwebform url=”http://app.getresponse.com/view_webform.js?wid=12610802&amp;u=BS1kr” css=”on” center=”off” center_margin=”200″/]

The Journey Does Not Exist Without The Destination

I’ve been listening to a lot more podcasts lately. I find they’re a great way to listen in on interesting conversations during my commutes around Saigon, Vietnam (where I’m currently living).

One podcast that was particularly impactful to me, however, was Dan Millman’s interview on the Art of Charm podcast. He said something that completely blew my mind.

If you’re at all well-versed in self-development you’ve no doubt heard things like; It’s about the journey not the destination, or it’s all about enjoying the process. I’ve always agreed with these statements and did my best to live by them. Dan Millman made a nuanced point during his interview, however, that was an absolute paradigm shifter for me.

These aren’t exact quotes, but to paraphrase Dan he said something like this, “Sure, the journey is important. It’s important to enjoy the journey, however, recognize that the journey does not exist without a destination!”

Again, he put things much more elegantly in comparison to my botched quote from memory, but you get the point.

Having a destination in mind doesn’t detract from your journey and ability to enjoy the processes of your daily life. Having goals and a direction you’re attempting to move toward actually creates the journey.

Without goals, or a destination in mind you’re completely susceptible to blowing aimlessly like a leaf in the wind.

Without goals what would incentivize you to go on your journey? Without a destination what would you use as leverage to persevere through the difficult moments of the journey?

When you’re working a shitty job, or having to take boring classes to further your future how are you supposed to enjoy yourself?

My suggestion is focusing on whatever small elements of the task you do enjoy doing (stereotypical advice on enjoying the process), but also recognizing and appreciating that the tasks are bringing you closer towards your goals and the destination you desire.

Having goals is what’ll allow you to maintain an upbeat attitude despite the various encounters you’ll have with adversity during your life.

Having goals is often the difference between someone that sees a shitty job or difficult period of their life optimistically as a stepping stone and challenge to overcome rather than someone who is negative and exists only to complain about their existence.

###

You can listen to Dan’s full interview here.

[grwebform url=”http://app.getresponse.com/view_webform.js?wid=12610802&u=BS1kr” css=”on” center=”off” center_margin=”200″/]