The eli4d Gazette – Issue 051: JavaScript Array/Object Methods and the Meaning of “=”

An Excellent Syntax.fm Episode on Array and Object Methods in JavaScript

The Syntax.fm podcast had an excellent episode covering Array/Object methods, as well as shallow versus deep copies and reference versus copies in JavaScript. It is an episode that I’m highly recommending to my JavaScript students.

What does “=” mean?

Another programming topic – assignment versus equality. Hillel Wayne covers this concept/issue in an excellent article about this very issue. If you’re new to programming, here are some pointers to the terminology used in this article:

Image credit: This nice high-resolution image comes from the DigiBarn museum site.

Mother Tongues


Thoughts? Feedback? Let me know: @eli4d on Twitter


The eli4d Gazette – Issue 049: DevDocs.io and the BaseCS Podcast

DevDocs.io – an amazing programming documentation resource

While scanning through Quincy Larson’s excellent posts I came across the DevDocs site and how it has recently joined the freeCodeCamp family.

DevDocs allows you to rapidly search for documentation of various languages and frameworks. It is similar to Dash but through a web page and it’s free. The best way to use this resource is to add it as a keyword to your browser (per site’s instructions). Having one location for software development documentation is excellent and having this under Freecodecamp’s stewardship guarantees that this resource will only get better over time.

A gentle introduction to computer science through the BaseCS podcast

I’ve come across this extremely charming and useful podcast that goes through computer science in a gradual well-paced way.

The format revolves around one topic, and it is a question/answer type of conversation between Saron (founder of the Code Newbie site) and Vaidehi Joshi. Saron is the questioner and Vaidehi is the CS “explainer in chief”.

Each episode of the BaseCS podcast comes with a well-written article from Vaidehi Joshi’s site.


Thoughts? Feedback? Let me know: @eli4d on Twitter


The eli4d Gazette – Issue 48: Learning Django 2 and the 2018 Stack Overflow Developer Survey

If you’re interested in learning Django 2

As a teacher and a learner, I’m on the lookout for great folks that create courses. If you’re interested in learning the Django framework (this may especially be of interest to my former Python students) then you might be interested in this kickstarter campaign by Tracy Osborn. Tracy approaches programming from a web designer point-of-view, and this is quite valuable from a “beginner’s mind” approach.

Check out the 2018 Stack Overflow Developer Survey

Stack Overflow is an amazing question and answer site that covers a tremendous amount of software development issues. It started originally as a response to Experts Exchange and has far exceeded its competitor’s breadth, depth, and utility.

Stack Overflow’s yearly development surveys have become an industry staple for software development trends. It’s an in-depth survey that has become better and better over the years. The 2018 survey is quite deep and extensive and is a well worth read.

If you’re looking for a concise summary of the 2018 survey, then check out Quincy Larson‘s summary.


Thoughts? Feedback? Let me know: @eli4d on Twitter


The eli4d Gazette – Issue 047: Keeping up with Software Industry and Developer Marketing

Keeping up with the Fast Pace of the Software Development Industry

The Syntax.fm podcast had an excellent episode about the issues (and solutions) of keeping up with the fast pace of software development. While this podcast is more skewed towards JavaScript, the suggested approaches apply to all programming languages, libraries, and technologies. Some interesting points (which I bookmarked in my twitter feed):

  • At 15 minutes and 46 seconds: a sane approach to this fast-moving field
    • maintain core programming skills in whatever language that you’re versed in
    • practice “just in time learning” for everything else
  • At 47 minutes and 42 seconds: how to stay up-to-date

Developer Marketing and Landing Pages

I listened to 2 excellent episodes from the Release Notes podcast about the art of creating landing pages for various types of products. Justin Jackson does an excellent job of explaining his approach, as well as providing actionable advice. You can find the episodes here:


Thoughts? Feedback? Let me know: @eli4d on Twitter


The eli4d Gazette – Issue 046: Programming Language Affordance and DHH’s Reason for StimulusJS Creation

Tech Pick (Programming Language Affordance)

I am a huge fan of Sandi Metz. She’s like one of those Zen masters that snap their students out of their current perceptual ruts.

In a recent article (‘What Does OO Afford’) Sandi goes into a great reflection about Object Oriented programming and the affordances that this approach provides. It’s a great and worthwhile post. One section that strikes me is the following:

Just like varying styles of doorknob, different programming languages offer their own unique affordances. Language designers have preconceived ideas about the best way to model reality, and their creations reflect these biases. Thus, programming languages are explicitly designed to “enable” certain kinds of thinking.

I’m talking about something that’s deeper than syntax. Languages have points-of-view: they’re designed to be used in certain stylized ways. The mere fact that code compiles doesn’t mean it’s arranged as the language designer intended.

While it’s possible to warp most any programming language into use by an alternate way of thinking, working at cross-purposes from your language’s intentions is not the most efficient way to write code. Don’t roll this rock uphill. If you don’t understand your language’s affordances, learn them. If your coding inclinations conflict with the designer’s biases, yield.

The above puts language wars in perspective. A language is designed to model reality in a certain way. If it takes off due to significant adoption (whether organic or through environment limitations like JavaScript), then warping occurs as developers try to use this hammer to nail every problem.

Media Pick (JavaScript Framework Choice)

The most recent Full Stack Radio podcast fits quite well with Sandi’s article. It features an interview with David Heinemeier Hansson.

In this interview, he discusses his company’s (Basecamp) release of a JavaScript framework named Stimulus. It’s interesting to learn how he chose Ruby‘s affordances over the those given by various JavaScript frameworks (like React, Vue, etc…). So Stimulus supports this choice by keeping as much of the programming on the server side via Ruby and Ruby on Rails.


Thoughts? Feedback? Let me know: @eli4d on Twitter


The eli4d Gazette – Issue 043

Tech Pick

Have you ever had to build a documentation website? It’s certainly a pain if you do it from scratch. You could use something like Google Sites, but that’s not so professional besides the Google product graveyard possibility. So what can you do?

There are many static site generators but how well are these particular projects maintained? Also, since they’re generalized tools – a particular generator may not fit the requirements of a documentation website (like the need for translations).

Some fine open source engineers at Facebook have created Docusaurus – a site generation tool that is geared for the creation and maintenance of documentation websites. The motivation for Docusaurus and how the tool can be updated without breaking an already created site can be found in the first blog posting.

With Facebook’s use of Docusaurus for its open source projects this is a tool that is likely to be maintained and enhanced over time.

Media Pick

Lots of web application and website development centers around API development (and this is becoming more of a norm). Content management systems like WordPress are de-coupling the backend (i.e. database) from their frontend using APIs (WordPress’s API info can be found here: https://developer.wordpress.org/rest-api/). This allows web applications/sites to create customized front-ends that are more customized to the application’s purpose and it allows for future expansion of the application’s data (for example a mobile app that needs to use the site’s database). To communicate to API endpoint a particular “language” needs to be spoken by both client (for example web browser) and server. This is where REST and GraphQL come in.

A recent episode of the Syntax.fm podcast explains GraphQL (another Facebook open source effort) and how it’s likely to replace REST. It’s a great episode for both beginners and experts, and the show notes are fantastic.

My recent Holiday Review

If you’re looking for battle-tested products and services/products to avoid (i.e. CrashPlan, Drobo, O’Reilly Media), then check out my 2017 Holiday Review.


Thoughts? Feedback? Let me know: @eli4d on Twitter


The eli4d Gazette – Issue 037

Tech Pick

I’ve been going through Jason McCreary‘s Getting Git course. I’ve used git superficially in the past, but I didn’t ‘get’ it. At $29 it is an amazing bargain and is well worth purchasing. The course is broken down into the following sections:

  • Making Changes
  • Viewing History
  • Managing Workflows
  • Sharing Work
  • Everyday Git

Each section contains the git commands related to that section, and it is covered through two videos. There’s an ‘init’ video which is a short video (typically one minute max) introducing the command. This is followed by a ‘Master’ video covering greater details of the command and providing context to both the section and its usage.

One core feature of this course is that it is all about the practical usage of git. There’s no esoteric ‘stuff,’ which is helpful when you need to work with git quickly.

My approach has been to mirror what Jason shows in a terminal window of my own and to take notes about it. Jason keeps each video’s set-up (in terms of the initial repository) to the bare minimum, which makes it fairly easy to follow and practice.

Media Pick

If you’re looking for a quirky podcast – check out Reply All. It’s hard to describe this podcast. I’d recommend that you start with the Phantom Caller episode.


Thoughts? Feedback? Let me know: @eli4d on Twitter