Message Systems in Programming: Part 2 of 7 – Callbacks

Callbacks

Callbacks are a way be notified of an event and not have to care if it’s synchronous or asynchronous. This could happen immediately or some time later. It’s the “don’t call me, I’ll call you” of programming. It also gives the receiver the power to dictate where they message goes and usually in what scope. In languages that do not natively support blocking, asynchronous programming needs some mechanism to tell you when “things are done”.

Continue reading “Message Systems in Programming: Part 2 of 7 – Callbacks”

Message Systems in Programming: Part 1 of 7 – Introduction

Introduction

Messaging systems are used to communicate in larger code bases by helping decouple classes that need to know about changes or happenings in certain areas of the code. One of Object Oriented Programming‘s core concepts is encapsulation. How you decide to allow objects to talk to each other has pro’s and con’s for each method and it’s good to know your options as you can use many together in effective hybrid approaches.

Continue reading “Message Systems in Programming: Part 1 of 7 – Introduction”

Breaking the $100 Per Hour Barrier

I get this question at least once a year so thought I would write a blog post on it to help others. “How do I make more than $100 per hour?”. I’ve learned a few ways and wanted to share them below. If you want to save time, simply do something other than programming such as flipping houses, investment banking, or being the boss of a mid size company. They make way more money than we do. If you still love programming, but just want to know your options for making more money, read on.

I won’t cover whether money can buy you happiness or not. All I’ll say is that for some people it does, and others it does not.

Many of the financial and tax nomenclature below applies to the USA, but the types of work are the same regardless of country.

Continue reading “Breaking the $100 Per Hour Barrier”

Thoughts on Teaching Object Oriented Programming in JavaScript

I’ve been doing a series of JavaScript videos on YouTube as part of a larger effort teaching Software Development. I find that I create a video 2 to 4 times before actually recording the real one. When describing something, when I find I have to reference a basic concept, I instead stop, and record a video around that basic concept first. This has worked well, and similar to blogging/writing books, it forces you to plug all holes no matter how minute in your knowledge of a subject so you can succinctly describe it in a way that makes sense.

From a programming perspective, teaching advanced JavaScript is quite challenging because it wasn’t designed for traditional OOP concepts and large application design. Many of the more popular languages today are either built on, or support and promote OOP usage. On the same token, once you know OOP you better appreciate Functional languages, parametric polymorphism, and other dynamic language features.

Continue reading “Thoughts on Teaching Object Oriented Programming in JavaScript”