Metric Visualization with Node, InfluxDB, and Grafana

Metric Visualization

There’s a lot of buzz in the software development sphere about metric visualization. Consequently, lots of developer tools have been introduced to assist with implementing these sorts of products. In this article, I’ll walk through setting up a simple visualization client for stock market data using Node.js, InfluxDB, and Grafana panels. But first, I’ll do a brief overview and quick setup of a couple of these technologies. I’ll assume the reader has some familiarity with Node.js, however.

Read More

Best Software Engineering Podcasts – November 2019

There are many options for consuming content around software development and engineering. You can keep up with blogs, read books, or take courses on platforms like Udemy or Pluralsight. You can follow YouTube channels and attend Meetups and conferences. Video, print, and physical event participation are classic ways to keep up with the industry and to continue the ceaseless learning that is vital to being successful in it.

Audio has always been there. Audiobooks existed on cassette tapes and CDs long before services like Audible entered the scene. Content delivery by radio is only preceded by print. But nothing has stormed the content consumption beaches quite like podcasting. The data on podcast growth is staggering: in 2018, something like one in four of all people in the United States reported listening to a podcast at least once a month. In 2019, that number is one in three.

And yet many podcast authors will tell you that the medium is still in its infancy. Check out this episode of Software Engineering Daily by Jeff Meyerson where he and Sonal Chokshi of Andreesen Horowitz chat about the growth of podcasting and its potential going forward.

I’ve spent a couple years now exploring the broad range of podcasts about software development. Here are the ones that currently stand out.

1. Software Engineering Daily

Content Delivery Frequency: Every Weekday

After years of listening, no podcast has stood out to the same degree as Jeff Meyerson’s Software Engineering Daily. The sheer amount of content, content variety, and focus on quality interviews is incredible. Listening to this, you find yourself wondering where Jeff finds the time to generate all of this content, keep a queue of high-quality interviewees, and all the other stuff he talks about doing. He’s even been working on project alongside the podcast, FindCollabs, a place for individuals starting software (and other) projects to find other individuals to work with.

Just to give you an idea of Jeff’s range, my current feed from SE Daily contains these topics, starting from the top: Data Orchestration, Redis, LinkedIn Data Platform, Crypto Businesses, Dark Lang, Kafka, and more. This podcast is the perfect way to keep up with the current trends in the industry, in an industry where keeping up with current trends is vital.

Check out Software Engineering Daily’s Greatest Hits for a good entry into this great podcast.

2. Security Now

Content Delivery Frequency: Weekly

There should be a place reserved in every software developer’s busy brain for security. You can spend weeks developing software without giving security any thought. I’d bet that most exposure to software security is dispersed via doses of headline news outlining massive breaches involving compromised consumer data.

Security Now is a great way to keep up with everything going on in between, and could even provide you with the tools to avoid such breaches at your organization. Steve Gibson is the star of Security Now. He brings much to the table with his background in building security tools, his latest being SQRL (Secure, Quick, Reliable Login), a fascinating technology that could upend how we identify ourselves to the services we use every day.

In the podcast, Steve covers the most important software and hardware security news. He talks about ransomware threats, browser security, security flaws in the latest devices, security breaches and how they happen, and more. He covers all of this within the context of actual events and discoveries that happen without most of us noticing. As a bonus, Steve occasionally covers some miscellany. This is one of my favorite sections of his show; it often consists of the sci-fi he’s reading and watching.

3. Coding Blocks

Content Delivery Frequency: Bi-Weekly

Many software development podcasts are in an interviewer-interviewee format. This is great because it brings many different voices to the discussion and you get a lot of different perspective.

Coding Blocks is different, but not in a bad way. Most episodes consist of Allen Underwood, Michael Outlaw, and Joe Zack having discussions about various topics in the industry. This discussion format with the hosts each episode adds a different element to the listening experience. While learning about software development, you also get entertainment out of the nuances of their relationships with one another. There’s a lot of humor to go around here, but a lot of knowledge as well.

These three do a fantastic job of building a sense of community around the podcast. They do a shout out to people leaving reviews for them and they own a Slack server where listeners chat about all sorts of stuff. They’re often present in the channels, which adds to the connection to the hosts for the community.

They do episodes about specific topics as well as series of episodes that cover, for example, all of the chapters of popular books on software development. My favorite series was the one they did on the book Clean Architecture, a classic book on software development. They’ve also done other series on Pragmatic Programmer, Clean Code, and more. This gives their content a longer-lasting value than a lot of more ephemeral content you might find in this genre.

4. The Changelog

Content Delivery Frequency: Weekly

The Changelog is a newer podcast I’ve picked up recently. It is its own podcast you can subscribe to, but they also produce a few others: JS Party, Founders Talk, Go Time, Brain Science, Practical AI, and Backstage. Their content is very good and covers a broad range of topics.

The Changelog brands itself as “conversations with the hackers, leaders, and innovators of software development.” Indeed, the lineup of guests never fails to engage. Their content has great variety. The latest episodes in my feed have topics like: open source drones, Elixir, refactoring with AST’s, engineering culture, Golang, and much more.

Changlog is not partial to any particular programming language or technology, so this is great for anybody wanting to keep up with the latest in the open source world.

5. The Stack Overflow Podcast

Content Delivery Frequency: Weekly

Stack Overflow Podcast is back! I had unsubscribed since mid-2018 when I realized they had stopped producing shows. But as of October 14, they’re back in the podcast feeds.

Personally, I think this podcast can speak for itself by name alone. Stack Overflow has secured a comfortable place in software development culture.

I’ll have more to say about their content when more has rolled out, but the first two episodes since revival were entertaining and informative; what else could we ask for?

6. React Podcast

Content Delivery Frequency: Weekly

Let me start by saying this: even if you’re not all that into the React frontend library, this podcast can have something to offer. Sure, plenty of episodes have content about React. But Michael Chan, aka Chantastic, has much more to offer here. He has content on work culture, software industry culture, mentorship and coaching, and professional development. Other technologies are covered as well, such as Typescript, GraphQL, and more.

I appreciate this podcast because Chantastic is a great conversationalist. He asks meaningful questions, shows compassion, and is a great listener. These things are important when you’re spending your time listening to other people talk to one another.

And, of course, the React content is top-notch as well.

Honorable Mention

  • On the business aspect of software – a16z Podcast
  • For lovers of all things JavaScript – JavaScript Jabber
  • General development stuff – Full Stack Radio
  • A true classic – Software Engineering Radio
  • Python-focused – Talk Python To Me and/or The Python Podcast.__init__

Arizona State’s 100% Online Software Engineering Program – My Experience

Many adults and even some fresh high school graduates are increasingly interested in higher education that can be achieved using 100% online resources. People need to start or continue working, but they also want to gain a valuable education. Online programs are a natural way to go due to their flexibility; they allow you to do school-related work around all the other responsibilities an adult must manage. I went through this process, and I was weary of the scams out there with for-profit institutions pumping out degrees for the right price. I wanted a true education; I wanted to learn technical skills and have a reputable university on my résumé.

This is what ultimately led me to Arizona State’s BS in Software Engineering. I thought it might be useful to others that may be curious about what it’s like to complete a degree 100% online. I’ll outline the courses I took, what they consisted of, and comment on some other general aspects of being an online student. But before I do this, I need to provide a little background; feel free to scroll down to the specifics if you’re in a hurry for specific information.

Read More

Design Patterns – Flyweight

Pattern Type: Structural

What Problem Does it Solve?

Straight from the Go4 book, the intent of the flyweight pattern is to “use sharing to support large numbers of fine-grained objects efficiently.”

Read More

Creating Custom React Hooks

For the past several weeks I’ve continued to explore the impact of React Hooks, an upcoming feature that is accessible via version 16.7.0-alpha.2. The two major improvements to React applications I’ve noticed are:

  • More simplicity, including less overall lines of code
  • Less code repetition, enabling adherence to the DRY (don’t repeat yourself) principle
  • Ability to modularize behaviors

Read More

React Context with Hooks


Note: React Hooks are still an experimental proposal. This post was written while Hooks were in React 16.7.0-alpha.2

I’ve spent the last several days experimenting the latest React Hooks features. It really has been a blast — so much code deletion when converting from the class stuff. Being a bit newer to React, I haven’t put together any huge applications with the library/framework (I say framework) and so I wasn’t really up to speed with using React Context. I spent a bit of time learning how to use context the classic way, and once I grasped that I decided I’d get a hang of the Hooks’ method: useContext. I wanted to document what I learned along the way by showing a small app I created using it.


Wait…What is Context in React?

Read More

Replacing React Classes with Hooks

Note: React Hooks are still an experimental proposal. This post was written while Hooks were in React 16.7.0-alpha.2

Note: Even if Hooks become an official React feature, they aren’t replacing classes, and the React docs don’t recommend huge rewrites replacing classes with Hooks.

I’m at the point in learning React where I’ve written some apps that use both class components and functional components. Admittedly, I should probably be focusing on using React’s core functionalities to develop larger apps before I start delving into its unreleased/experimental stuff, but I could not resist! After watching some talks from React Conf 2018, I decided to rewrite some of my current code using React Hooks. I wanted to write a post walking through a bit of my experience with it.

Read More

Learning React on AWS Cloud9

On my commute today I was listening to React Podcast with Michael Chan hosting, episode titled “Develop in the Cloud with Christina Holland.” Many tech podcasts I listen to are fantastic but often the subject matter is quite new to me and I tend to wish I could be looking things up as I listened or taking notes on things to check later, but driving doesn’t exactly cater to that behavior.

This podcast episode, however, had me nodding enthusiastically because it spoke about a topic that Christina gave a talk about at React Conf 2018: the cloud development process, and particularly React development in AWS Cloud9. I enjoyed the show thoroughly because I too have benefited from the beauty of developing in the cloud – in fact, AWS Cloud9 was really my true introduction to the cloud ecosystem. That’s right – it wasn’t EC2 or S3 or any other widely popular Amazon Web Service (although Cloud9 is backed by EC2.

What is AWS Cloud9?

Read More