The eli4d Gazette – Issue 066: GitHub’s FREE private repos, Neat 2019 Tech Conferences, and the Amazingly Written “Leviathan Wakes”

GitHub announces unlimited free private repos

GitHub is the standard when it comes to Git based source control management.

Up to now, you could get a free account as long as your code was publicly viewable. While this has been great for public facing open source projects, it was problematic for those that wanted private source repositories (aka ‘repos’). A viable free private repo alternative has been Atlassian’s Bitbucket.

GitHub has recently announced unlimited free private repos. This change is great for anyone who wants to experiment around with some code without exposing their cruft out in public.

Some folks have lamented that now there will be many personal projects that will be locked away in private repos and that takes away valuable code that could be “out there.” While I understand this objection, I think it’s somewhat questionable. Every developer has the right to determine what is crappy code and what isn’t, and whether s/he is comfortable publishing it. After all, once something is public on the internet, it’s there forever.

Before GitHub’s change, Bitbucket was already used for private repos – so what exactly has changed? Am I to understand that Bitbucket’s free private repo feature was so secret that no developer ever used it? Or perhaps developers were too lazy to switch from GitHub to Bitbucket for personal projects?

Some interesting conferences from Delicious Brains

Delicious Brains is a WordPress company that develops high-end plug-ins for WordPress developers. They have a really nice development blog.

In a recent blog entry, they had a comprehensive listing of upcoming JavaScript, WordPress, CSS, UX, Tech and PHP conferences: https://deliciousbrains.com/php-javascript-wordpress-conferences-2019/

Just Finished Reading

I just finished reading Leviathan Wakes which is the first book from The Expanse Series. This was an amazingly well-written book covering the near future. In all honesty, no amount of words can express how well written this book is so I’ll pick three sentences that scratch the surface of this writing:

Here is a description of a space ship…can you see the image?

Three-quarters of a kilometer long, a quarter of a kilometer wide—roughly shaped like a fire hydrant—and mostly empty space inside, the Canterbury was a retooled colony transport.

What about these sentences?

Seven years in Earth’s navy, five years working in space with civilians, and he’d never gotten used to the long, thin, improbable bones of Belters. A childhood spent in gravity shaped the way he saw things forever.


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


The eli4d Gazette – Issue 065: NPM’s JavaScript Report and Firefox Monitor

NPM’s JavaScript Report

I mentioned the amazing 2018 State of Javascript report in the last issue. Right on the heels of this report, NPM came out with its own survey results.

It’s interesting to compare NPM’s survey results with the 2018 State of Javascript report. It is also important to keep in mind that NPM is a private company whose goal is to enhance and increase the usage of its services (nothing wrong with that but it’s important to know which grains of salt to use).

Some related information:

Firefox Monitor: A way to check if your email address was part of a data breach

A recent episode of Security Now mentioned Firefox Monitor. It is well worth to check your email(s) against sites that have been breached. I checked Monitor with an email address that I’ve used for over a decade and discovered that it was part of 4 data breaches.

Firefox Monitor also gives you some great advice regarding breach related next actions (from the site):

  1. Change your passwords, even for old accounts: If you can’t log in, contact the website to ask how you can recover or shut down the account. See an account you don’t recognize? The site may have changed names or someone may have created an account for you.

  2. If you reuse an exposed password, change it: Hackers may try to reuse your exposed password to get into other accounts. Create a different password for each website, especially for your bank account, email and other websites where you save personal information.

  3. Take extra steps to secure your financial accounts: Most breaches only expose emails and passwords, but some do include sensitive financial information. If your bank account or credit card numbers were included in a breach, alert your bank to possible fraud, and monitor statements for charges you don’t recognize.

  4. Get help creating good passwords and keeping them safe: Password managers like 1Password, LastPass, Dashlane, and Bitwarden generate strong passwords, store them securely, and fill them into websites for you.

Recently Finished Reading

I just finished “Forging Zero”…sigh. I so wanted this independent author to be awesome. The story is similar to taking five extremely different boxes of different jigsaw puzzles and mixing them all in one big jumble. The book had some excellent descriptions of aliens, but the coming-of-age story combined with military grind was exhausting, and the stuttering plot lines kept kicking me out of the story. I ground through the finish but (unfortunately) I won’t be reading any more stories from this author.


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


The eli4d Gazette – Issue 064: State of JavaScript Report for 2018 and Google’s Flutter

Check out the State of JavaScript Report for 2018

The yearly “State of JavaScript” report has come out. It’s a survey of over twenty thousand developers and this year’s survey is beautiful in terms of visualization and succinctness.

The results of this year’s survey show through amazing periodic table type of charts with conclusions through quadrant charts. Conclusion pages are the best way to quickly get through the survey though it’s certainly worthwhile to savor it by going through all of it.

If you have limited time then check out the wonderful summaries:

Google’s Flutter SDK and the Holy Grail of Mobile Cross-platform Development

In software development, there is this holy grail of write once, run everywhere. The goal is to write one piece of code that runs in an optimized way (code/compile/UI efficiency) on different hardware. Recent emphasis on Mobile-first design has shifted this pursuit to cross-platform mobile development.

Flutter is an open-source mobile application development SDK created by Google. It is used to develop applications for Android and iOS, as well as being the primary method of creating applications for Google Fuchsia.

The long and short of it is that this is a cross-platform development environment/language. Its biggest competitor is React Native.

I’ve come across an excellent article by Marco Bellinaso covering his learning and use of Flutter: “Flutter: the good, the bad and the ugly”. This article is great in that it pulls no punches and it provides resources to anyone that’s interested in learning and using Flutter.


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


The eli4d Gazette – Issue 063: A Thanksgiving Feast of Developer Flash Cards, Black Friday Deals, and the YNAB Book

Flash Cards for Developers

Spaced repetition via flashcards is a great way to learn new information. I came across flashcardsfordevelopers.com while listening to a recent Syntax.fm podcast (one of my current favorites when it comes to tech podcasts).

There are tons of different flash card collections including:

It’s a neat resource for both learning and review.

Winter is Coming…wait no…Black Friday is coming

I’ve been lax in past years about Black Friday deals. However, this year, I’m going to try to be more proactive about having a list of items for Black Friday shopping. I’ve found the Wirecutter to be a great review site that helps me answer the “what are two best choices for xyz product?”.

The Wirecutter has an excellent article on how to prepare for all the Black Friday and Cyber Monday deals. I especially like the emergency preparation section.

Just Finished Reading

I just finished the “You Need A Budget” book. I had purchased it from Audible during a sale before Audible decided to send deals to only Audible subscribers (makes sense I suppose…but still annoying). This book is excellent. Jesse Mecham has the perfect voice for audio (this is extremely unusual for an author) and he comes across in a frank and personable way. While I haven’t yet tried the YNAB approach to budgeting, I certainly intend to give it a whirl. An important point about this book is it does not push the YNAB service/product. The only place any information shows up is in the appendix. Base on the title it’s easy to assume that the book exists to market the service (since so many other books do exactly that), but Jesse is sincere in conveying his belief that a budget is a way to freedom rather than restriction.

One other thing I need to mention is chapter 9. Chapter 9 describes his approach to giving allowance to his kids. It’s a very concrete action based approach based on the book “The Opposite of Spoiled: Raising Kids Who Are Grounded, Generous, and Smart About Money”. I’m definitely going to explore this approach.

I highly recommend this book in audio format!


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


The eli4d Gazette – Issue 059: An Excellent Collection of Great Speeches & Neat Interview Question Site

An Excellent Collection of Great Speeches

I’ve been following James Clear‘s newsletter for a while. He has a ton of great content about habits, decisions, and living. In one of his emails, he mentioned that he’s been collecting some great speeches and having them transcribed.

These are really great speeches and may be worth your time: https://jamesclear.com/great-speeches

30 Seconds of Interview (Questions and Answers)

I came across this neat interview questions site through a Syntax episode. It currently covers HTML, CSS, and JavaScript but it can easily be expanded.

You can find the actual site here: https://30secondsofinterviews.org/

Here is the source repository for the site: https://github.com/fejes713/30-seconds-of-interviews

Let me know if you have some interview question prep sites that you like.


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


The eli4d Gazette – Issue 057: Cool HTML/CSS/JS Tiny Editor and a Tiny Bite of Fan Fiction

Holy Cow – A 400 Byte Tiny HTML/CSS/JS Editor Demo

I came across this on a Hacker News thread. It’s an amazingly tiny HTML/CSS/JS editor. You can find the code on GitHub, but here’s the whole code that you can place in the browser URL (per usual disclaimer – don’t put this in your browser if you’re not comfortable with the code):

data:text/html,<body oninput="i.srcdoc=h.value+'<style>'+c.value+'</style>'+j.value+''"><style>textarea,iframe{width:100%;height:50%}body{margin:0}textarea{width:33.33%;font-size:18}</style><textarea placeholder=HTML id=h></textarea><textarea placeholder=CSS id=c></textarea><textarea placeholder=JS id=j></textarea><iframe id=i>

Fan Fiction

I never realized that there was a huge sub-culture around Fan Fiction. Episode 98 of the Imaginary Worlds podcast dives deeply into this world with Francesca Coppa.

The conversation around the evolution of fanfic in conjunction with the creation of https://archiveofourown.org/ is fascinating.


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


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

Tech Pick (JavaScript)

I watched a short (15 minutes) presentation by Rebecca Hill that covered JavaScript debugging. It’s an excellent talk and demonstration of available tools beyond console.log. If you do any sort of JavaScript development (whether frontend or backend), this is well worth watching. Some topics she covers:

  • using the console’s capabilities beyond console.log

  • approaches for proxying services when dealing with something that’s out of your control

  • Usage of VS Code (this was really really good) regarding:

    • frontend debugging
    • Node.js debugging

Media Pick (GTD Podcast)

I have found that Getting Things Done is a pretty good approach to task/project management both at home and at work.

The most recent episode of GTD Podcasts was a good one. In this episode David Allen covers the power of outcome thinking and the brain mechanism (reticular formation) in getting you from your present circumstance to the successful completion of a project (whatever it may be).


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