Josh Pitzalis

My software engineering learning log

Page 3

Computer Shoulders

This November I’m learning how to surf.

Today was day one.

If I’ve learned anything today, it’s that surfing is fantastic for people who spends all day hunched over a computer screen.

It’s not the surfing; it’s all the paddling out to get to the waves. You lie down on your board, lift your chest up and work all those unused muscles behind your shoulders.

The session this morning was exciting. I didn’t know what to expect. I’ve never been on a surfboard before. The surf school taught us how to ‘pop-up’ onto the board.

Then I went back in the afternoon. Practiced everything I learned.

Then I went back again in the evening.

I had one long beautiful ride all the way into the beach, and I did it standing up. It was incredible.

I thought it was going to take me weeks to be able to catch a wave.

I’m super impressed with day one.

I will be spending 20 hours surfing this month...

Continue reading →

596 Hours Learning to Code

Total Days 365

Total Earned $6,675

I try and focus on one thing each year. First it was meditation, then it was swing dancing, one year I read a book a week, last year I tried to start a business a month.

One year ago today, I decided to learn how to code.

I set myself the challenge to make $10,000 dollars learning how to code in 365 days or less. I made $6,675 building websites and developing software this year.

I realise this is not very much money to make in one year.

On the other hand, I didn’t know what HTML was when I started and coding boot camps cost upward of $10,000 for the same experience.

In total, I spent 596 hours learning how to build web applications.

The learning came in bursts, it was not evenly spread through the year.

Screen Shot 2015-11-04 at 11.04.14.png

The huge spike in the summer came from being accepted into a coding boot camp in London called Founders and Coders.

All of this was...

Continue reading →

HTTP Basics


HTTP is how computers talk to each other. It stands for Hyper Text Transfer Protocol, and is an agreed upon method that defines how computers transfer information between one another. Whenever you use a browser (like chrome or firefox) to view a website you are using the HTTP protocol.

This post will show you how to make the contents of one file (a simple.txt file) display inside a completely different file without having to reload the page.

1. First create a file named “name.txt”

Fill it with Lorem Ipsum and save it in a folder.

2. Set up an HTML file.

The easiest way to do this is to go to and copy the source code. In the body, remove the contents of the paragraph tag and give it an id of ‘response’. Then save the file in the same folder as the name.txt file

<p id="response"></p>

3. Create a new HTTP object

Create a <script></script> tag at the bottom of the html...

Continue reading →

Making Good Coffee


Making good coffee in the morning has become a ritual.

Buying good beans and grinding them fresh makes a world of difference.

If I am using a pour over I pour the water very slowly about half way between the centre and the edge of the filter paper. This way the water dissolves as much flavour as it can before seeping through. When I do it just right I get a beautiful dome-shaped pile of sediment when I’m done.

A good dome always bodes well for the day.

Lately, I have started using an AeroPress.

The AeroPress was created by a man named Alan Adler. A mechanical engineer from Stanford. After it was released in 2006, the speciality coffee community adopted the AeroPress as their own.

Letting the water cool for about 5 minutes after it boils makes for a fine cup of coffee. The most bitter compounds only seem to dissolve above 85 degrees celsius.

If you want to step up your coffee...

Continue reading →

An Introduction to Software Testing

Qunit is a javascript framework that you can use to test software as you build it. Learning how to use qunit so that you can test software as you build it will save you time in the long run. Testing will ensure that you only write the least amount of code needed to get your software to do what it needs to do. It will also save you having to constantly backtrack and fix things once your software starts growing in complexity.

Step 1: Set Up the Boilerplate

To get set up go to and copy the 14 lines of boilerplate code on the homepage into a new file.

Qunit boilerplate


Make sure to add ‘http:’ to the begining of the urls on line 6 and 11 otherwise it won’t work.

Step 2: Set up the sample test

Create a new file called test.js (if you call it something different you have to change the reference to it on line 12 of the boilerplate).

Inside test.js copy and paste the sample test...

Continue reading →

Information Onslaught


There are physical limitations to how much I can learn in one go. My brain just fizzles out and the simplest things stop making sense. The first week at Founders and Coders has been intense.

The cohort was split into groups of four and each team was challenged to design and host a blog from scratch.

We had to learn how to use Github (so that we can all work together), how to host the blog (with harpjs), how to test code with qunitjs (so that everything works), and how to design and flesh out the look and feel of the blog.

  • UX
  • Front End Development
  • Testing
  • Hosting a blog with harp

To top it off, we had these mind-boggling 30-minute challenges every morning so that we could start the day feeling like a complete idiot.

To my surprise, there were no classes. There were tutorials for everything and a few presentations (particularly for the testing stuff) but the onus was mostly on...

Continue reading →

5 Months of Learning to Code

Total Days 137

Total Earned $2135

This year I committed to earning at least $10,000 learning how to code. I am now in the middle of my fifth month.

Last Tuesday I got accepted into Founders and Coders. A 16-week boot camp in London that takes people with little or no knowledge of coding and turns them into full stack webs developers.

The program starts in May, so that gives me another month to finish what’s on my plate and get ready for an intense four months of coding.

In November 2014 I knew absolutely nothing about coding. This post is a little road map of what I’ve been doing.

I started with Rob Percival’s “Complete Web Developer Course” on Udemy. I got the whole course for $25 on App Sumo, but it’s worth the standard $200. The App Sumo deal is sold out, but there is a link to the course at the bottom of this post. In retrospect, this was the perfect course for a complete...

Continue reading →

Rules to Code By

If you’re relatively new to programming:

  • Choose a language and stick to it.

  • Choose a text editor that is easy to learn and stick to it.

  • Avoid large frameworks like Rails and Django until you’ve got a decent grasp on the language you’re using.

  • Write lots of code. The specific code you write is less important than that you write lots of code.

  • Don’t worry about choosing the “perfect” project. It’s easy to let the perfect be the enemy of the good when it comes to project selection.

  • Have your code reviewed regularly, ideally by someone who knows the language you’re working in well.

  • Pair program, ideally with people who know the language you’re working in well.

  • Develop a good mental model of your code.

  • Become a systematic debugger.

  • Write small programs from scratch.

  • Give yourself progressively larger challenges. For example, write a project you think will take an hour, then an afternoon...

Continue reading →

Learning to Touch Type

If I’m serious about learning to code I’m going to have to learn how to type a little faster.

I calculated my typing speed at 36 words per minute.
If I don’t look at the keyboard I’m hitting 7 words per minute.

I bought myself touch typing keyboard cover and started using Keyzen to learn how to touch type.

I would like to hit to 60 words per minute in one month.
I aim to practice 4-6 times a day for 15 minutes each time.

Will update progress on twitter. Please tweet me if you have any recommendation for good touch typing resources.

Stuff I’m using:

  1. Typing speed test
  2. Keyzen
  3. Found Keyzen in 20 Hours. Great book on learning
  4. Touch typing keyboard cover

Continue reading →

Today I Learnt Some HTML.

Total Days 2

Total Earned $0.

I learnt that a “tag” is a bit of code that tell a browser what to do. For a tag to work you have to <open> it and then </close> it.

  1. If you want some text on a webpage you put it inside a <p>aragraph tag. Html doesn’t acknowledge line breaks so if you want a new paragraph you need to use a <br>eak tag. <br>eak tags can be self-closing when written as <br />. If you want a line instead of just a line break then use a <hr /> tag for a horizontal rule (like the short grey line above).
  2. You can format text. Use the <strong> tag for bold, <em>phasis tag for italics, the <u>nderline tag or the <strike>through for strikethrough text. There are also 6 sizes of header text. <h1> is the largest and <h6> the smallest.
  3. You can also create lists. <ol> for numbered lists and <ul> for bullet points. In between the open and close tags each list item starts...

Continue reading →