Author: david

Mechatronics, Software Engineering, Woodworking, and "Making" in General

Evaluating ECharts as a General-Purpose Charting Library for React Applications

ECharts, developed by Baidu, is a powerful charting and visualization library that offers a wide range of chart types and has become increasingly popular in the JavaScript community. When considering its use in a React application, especially one that requires diverse charting capabilities, several factors need to be evaluated. Let’s break down the analysis of…
Read more

Data Visualization Techniques for Software Engineers: Practical Tips and Tools

Introduction In the realm of software engineering, data visualization is a crucial skill. It’s not just about presenting data; it’s about translating complex information into a format that is easy to understand and interpret. Effective data visualization can make the difference in understanding user behaviors, system performance, or even identifying bugs. This article delves into…
Read more

Introduction to Object Oriented Programming (OOP)

Object-Oriented Programming (OOP) is a paradigm in programming that uses “objects” to design software. Understanding OOP can be made easier through analogies and visuals. Here’s a detailed explanation: 1. Basic Concept of OOP: OOP revolves around four main concepts: Encapsulation, Abstraction, Inheritance, and Polymorphism. 2. Objects and Classes: 3. Visual Explanation: Imagine a class as…
Read more

Introduction to Robotics for Ages 4-6

Lesson Plan: Introduction to Robotics for Young 5s Kindergarten Age Group: 4-6 yearsDuration: 45 minutesObjective: To introduce basic concepts of robotics to young children, using interactive and hands-on activities, and set the stage for future, more in-depth lessons. Part 1: Introduction to Robotics (5 minutes) Part 2: Meet the Robots (15 minutes) Part 3: How…
Read more

Introduction to Control Theory

Control Theory is a branch of engineering and mathematics that deals with the analysis and design of systems that can regulate their own behavior according to a desired goal. Control Theory has applications in many fields, such as robotics, aerospace, industrial automation, biomedical engineering, and economics. In this blog post, I will give you a…
Read more

Will use of LLMs to generate code lead to a convergence of methodologies? How to get the “most” out of code from LLMs.

One of the emerging trends in software development is the use of low-code or no-code platforms (LLMs) that allow users to create applications without writing code or with minimal coding. These platforms aim to simplify and democratize the software development process by providing graphical interfaces, drag-and-drop components, pre-built templates, and other features that abstract away…
Read more

Re-starting Raspberry Pi Web Server on Reboot

Recently, I’ve put together a home automation tool that uses a Flask project to control the state of the RPi’s GPIO pins. As an example, the pin state is driving a relay to control gas fireplace, decorative LEDs, etc. For the tool’s general “healthy state”, the web server from Flask needs to be running on…
Read more

Single Points of Failure in Software Applications

A single point of failure (SPOF) is a component or system that, if it fails, will cause the entire system to stop functioning. SPOFs are undesirable in any context, but especially in software engineering, where they can lead to catastrophic consequences such as data loss, security breaches, or service outages. In this blog post, I…
Read more

React Component Library Evaluation Selection and Pros/Cons of Popular Libraries

React is a popular JavaScript library for building user interfaces. It allows developers to create reusable components that can handle data and state changes. However, not all components are created equal. Some may have better performance, accessibility, documentation, or design than others. How can we evaluate and compare different React component libraries to find the…
Read more

NPM vs Yarn: Which One Should You Use for Your React Project?

If you are a React developer, you might have wondered which package manager to use for your project: npm or yarn. Both are popular tools that help you install and manage dependencies, run scripts, and automate tasks. But what are the main differences between them, and how do they affect your development workflow? In this…
Read more