RSSAmplifier

Blog

Bennett Notes

Recent content on Bennett Notes

bennettnotes.comRSS feed ↗248 posts

Latest posts

Building an invention inspired by Dr. Andrew Huberman

Neuroscientist and podcaster, Dr. Andrew Huberman , is really big on the importance of sunlight exposure. Getting enough sunlight, especially early in the morning, provides benefits to sleep, mood, focus and overall health. In an interview with Dr. Peter Attia, Huberman said it would be great if there was an invention to let the user know when they have achieved enough sunlight during the day.…

STM8 Debugging on M1 Mac

I decided to venture into the true unknown by attempting to debug an STM8 using my Mac running Apple Silicone (M1 Max). It’s very awkward, but it works. Here’s what I had to do. Software Setup Unlike the STM32 line of MCUs, the STM8 does not use STM32CubeIde. Instead, it uses this ancient looking IDE called STVD, which only works on Windows. Fortunately, the STM8 is supported by…

ESP32 Digital Photo Frame

I usually just buy my mom flowers for Mother’s day; but this year I decided to make something more personal. That’s at least the cover story I’m going with. The truth is that I started working on a completely separate project a couple of months prior but never finished. Rather than throw away the hardware I already built, I re-purposed it to be a digital photo frame. Since this…

What I've been Reading in June

Here are the articles, videos, podcasts, and books which have captured my interest in the past month. Articles Fringing Electric Field Sensors for Anti-Attack at System-Level Protection A team at Tianjin University outlines a proposal for using fringing electric field sensors (FEF) as a method to detect PCB tampering. As hinted by the name, a FEF sensor uses the principles of fringe capacitance;…

Beyond cd and ls, Useful Linux Commands for Firmware and Software Development

Everyday I discover a new linux terminal command to add to my toolbox. This is going to be a living list of linux terminal commands that I find useful on a regular basis that goes beyond the basics of cd and ls. modprobe For adding and removing kernel modules. I used this a lot for enabling and disabling the file storage module on my hacked kindle. Enable module: modprobe g_file_storage Remove…

Useful Terminal Commands for Macos

I’m putting together a list of a terminal commands specific to MacOS that I have been using on a regular basis. I also have a separate list of general Linux commands which I use on a regular basis . Allow apps for Unverified Developers Go to privacy and settings and allow the blocked app. Clear the qurantine attribute: sudo xattr -d com.apple.quarantine ./arm-unknown-linux-gnueabi-gcc Also,…

Apple doesn't want you developing hobby apps

Apple still charges a $99 yearly developer fee, even if you don’t want to publish your app on the Appstore! One of my hobbies consist of building apps. Often times, these apps are focused on a task that’s relevant only to me. For example, two years ago I built an Android app that connected to my custom built soil sensor to send myself a notification when my plant was dry.

Getting Started with STM32 Blackpill and STM32Cubeide and USB CDC Serial

I recently purchased a STM32f411 from Adafruit . This board is also known as the “blackpill” and is manufactured by WeAct Studio . The board has the STM32F411CE MCU which operates at a max frequency of 100 MHz. This was my first time venturing outside of the Arduino ecosystem, and I ran into a lot of unclear documentation and steps along the way. Hopefully this getting started tutorial…

Software Engineers Make Up 3.6% of the US Workforce

With all the dogma around “Learn to Code” and coding bootcamps popping up everywhere, I was convinced that nearly everyone was a software engineer nowadays. Surely, this was re-affirmed by my own social bubble where I would meet people at parties who happen to code React fulltime. I decided to look at actual data from the U.S Bureau of Labor Statistics to confirm my belief. Needless to…

Hugo Alias

Creating a new page bundle in hugo is such a long command: hugo new --kind post-bundle posts/my-post So I created an function in bashrc to alias that command. It needs to be a function because you can’t pass in parameters to an alias (as far as I know). #Hugo alias for new page bundle function post { hugo new --kind post-bundle $1; } export -f post So now I can create a post like this:

Building Wireless Soil Moisture Sensors With Custom PCB

If you ever walked into my apartment, the first thing that you would notice would be the ubiquitous amount of plants. Children are too expensive, so my partner and I opt for owning plants instead. And there’s solid research on the positive effects that houseplants have on mental health . The onus of watering and general care is what typically keeps these plants alive. Of course, it’s…

Setting up Namecheap, Cloudflare, and Netlify the right way

After many years of always forgetting my configuration settings, I’m finally going to document my own unofficial tutorial on how setup Namecheap DNS with Cloudflare and Netlify. With this setup, I was finally able to achieve a perfect score in GTMetrix and the fastest my website ever loaded. My Current Stack I use a static site generator called Hugo to build my website. All of the source…

Hugo Responsive Images With Markdown Render Hook

I recently learned about the srcset attribute on the img tag. Essentially, if you want to have responsive images then it’s better to serve multiple resolutions of the image and let the browser decide on which is the best (rather than relying on CSS to downscale) It can help the loading times of a webpage too. For mobile viewers, I can serve a 20KB image that’s 800x400 pixels. Then for…

Run Windows 11 on Chromebook

Here is a quick guide on how to run the new Windows 11 on a Chromebook. At the time of this article, Windows 11 only exists as a leaked ISO . So I will leave it up to you to search the web and find that ISO. To do this, you will need to have a Chromebook with Linux support . Step 1: Enable Linux Beta Enable Linux beta. Make sure to allocate at least 28 GB of space for the container.

Play Genshin Impact on Chromebook

Surprisingly, I was able to play Genshin Impact on my Chromebook. I’m using the Acer Spin 713 Chromebook (affiliate link), which has a quad-core cpu, along with 8GB of RAM and 128GB for storage. This chromebook also supports Android apps, which allowed me to easily download the game from the Google play store. The performance is…a little less than satisfactory. On one hand, I’m…

Install Windows 10 on Chromebook

Here is a quick guide on how to install Windows 10 on a Chromebook. This will allow you to run Windows app on a Chromebook. To do this, you will need to have a Chromebook with Linux support . If your chromebook does not support Linux beta, you can check out my older tutorial on installing Windows 10 on a Chromebook. Step 1: Enable Linux Beta Enable Linux beta. Step 2: Download Windows 10 ISO File…

What I've learned about Fulfillment, Happiness and Success

I don’t have all the answers. But those of you who have read any of my previous blog posts might’ve discovered that I’m perplexed by the ideas of success, fulfillment, and happiness. All my life, I was told that I should desire to be successful. This direction was given explicitly through parenting and implicitly by society. Look at that successful 25-year-old entrepreneur. Why…

Play Portal on Android

Want to play Portal on Android? It’s really easy to play portal on Android thanks to the work of developer nillerusr . The developer has ported source engine to non-nvidia devices so that we can play portal and half life 2 on any Android device. Furthermore, the performance is actually really good. Here’s how to install portal on Android. Source Engine APK First, download the and…

Play Steam Games on Chromebook

Here is a quick guide on how to play steam games on Chromebook. This will allow you to play Steam Games (compatible with Linux) on your Chromebook. To do this, you will need to have a Chromebook with Linux support . If your chromebook does not support Linux beta, you can check out my older tutorial on playing steam games on chromebook using cr Step 1: Enable Linux Beta Enable Linux beta.

Recover Wifi Password Android

Starting with Android 10, it’s easy to recover wifi passwords for any network that you are connected to. In order to recover wifi passwords on Android, you will need to make sure that your device is running Android 10 or later. If you are using a Samsung Galaxy S10, Galaxy S20, or Galaxy S21 then this will work for you. Step 1: Get Wifi QR code Go into the Wifi settings and select the…

Using the Attiny85 Arduino Microcontroller to control My Christmas Lights

My boyfriend and I went shopping for Christmas lights a couple of weeks ago. We came across a “Merry Christmas” wall sign which had LED lights attached to it and was powered through 3 AAA batteries. While it looked nice, it was annoying to operate. The only way to turn on the sign was by hitting this small switch located on its backside. That’s kinda inconvenient for something…

I Feel Like I Have No Real Interests; My Only Interest Is Making Money

I have no real interests or hobbies. If I was shopping for myself I’d probably just buy another book on “growing your side hustle” or one of the many “building a startup” books. Revenue, monetization, and profit are always the primary driver for my activities. Whether or not I actually care about a particular topic is sorta irrelevant. And my frustration is that…

How to Run Linux on Android

Running Linux on android used to be a pain. You would have to root your device or download some broken emulator. As of today, running linux on Android is the easiest it has ever been thanks to the app Termux . Here’s how to run Linux on Android. Install Termux The first thing that you need to do is install the app Termux . It’s an android terminal emulator that will allow us to setup a…

Why I Left YouTube for a Year

In the late summer of 2010, I started a YouTube channel called Opensourcegangster. The decision came shortly after I got my first Android smartphone, the HTC EVO 4G. It was one of the first killer Android smartphones of the decade and it sold off shelves insanely quick. Its 4.3 inch screen was monstrous for its time! It was also one of the first Android smartphones on Sprint to offer the new 4G…

I Will Build Something Great...Once I Get an Idea

Everything starts off with an idea. If I want to create a YouTube channel, I need ideas for a video. If I want to build a business, I need an idea of what I’m going to sell. If I want to write a book, I need an idea of the story that I want to write. It’s pretty hard to execute anything without some starting idea. That’s one of the reasons why I hate all the entrepreneurial…

People Who Are Obsessed With Success and Prestige

What does it look like to be obsessed with success and prestige? It probably looks a lot like me at the moment. A guy who starts many endeavors and side projects just because he wants to be known as the creator of something. This a guy who wants to build another social app, not because he has an unique problem that’s unaddressed, but because he wants to be the cool tech entrepreneur who…

Best Way to Choose a Toilet at a Festival

I came across an interesting video from Numberphile , that reminded us of the value of the optimal stopping theory (also know as the secretary problem). Optimal Stopping : In mathematics, the theory of optimal stopping or early stopping is concerned with the problem of choosing a time to take a particular action, in order to maximize an expected reward or minimize an expected cost. (GeekforGeeks)…

Notes From The Mom Test

I recently finished reading The Mom Test ; a book about validating your business idea and finding the right costumers. This book has demystified a lot of the ambiguity I had about idea validation and understanding what people will pay for. It also made my realize the mistakes I was making when talking to others about my business ideas. Below are some of my favorite quotes from the book. “Do…

Yes, I Keep a Google Home in my Bedroom

When it comes to devices like Google Home or Amazon Alexa, I often read comments like the one below from Hacker News : But people willingly bringing always on listening devices in to their homes (beyond what smartphones are already capable of) I just can’t comprehend it. Why would people voluntarily do this in exchange for being able to ask for weather, play a playlist, add a todo and a few…

Challenges Using Istio

The team and I were searching for solutions that enabled us to secure the communication between the microservices that we have running in our Rancher cluster. Our first application consisted of a set of services that essentially performed CRUD operations using the typical RESTful architecture (GET, POST, PUT, etc). We decided to use Istio because it offered a compelling solution that incorporated…

Use Android as Bluetooth Speaker

Have you ever needed to cast music from your PC to your Android device? Let’s walk though a quick tutorial that will show you have to use your Android as a bluetooth speaker. Download Android Wireless Speaker App Begin by downloading the app wireless speaker for android . All you need to do is download it, and launch it. No further configuration is needed. Take note of that IP address that…

How to Fix: Could not establish connection. Receiving end does not exist

If you are developing a Chrome extension with message passing, then you might have received the following error: Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.. There was some type of behavior change that happened post Chrome 72 that affected the way channels are opened. Essentially, if you try to call runetime.connect() before you have a a channel open,…

Run Android Apps in Chrome Browser

Let’s take a look at how you can run android apps in Chrome browser. Keep in mind, this is more of a proof of concept than something you should heavily rely on. While simple apps and games will work, you will most likely run into issues when trying android apps with advanced graphics. To run android apps in Chrome browser we are going to use a modified version of the android-chrome runtime…

What's bad about coding? You can work for hours with nothing to show for it

Last Saturday, I spent several hours working on my website’s code. I added some new meta tags to lazy load images, tried to remove JQuery dependencies from my scripts, added enhancements for accessibility and structured data, and even created a pull request for the theme that I am using ( Beautiful Hugo ). Basically, five hours of my day were eaten up by completing those tasks. Although this…

I Can't Do Anything for Fun Anymore; Every Hobby Is an Attempt to Make Money

When I was a kid, it was easy to merrily invest myself in any activity that I found interesting. Building robots, learning to play guitar, and making short films were things that I would work on after school everyday. I did all those things simply because I enjoyed doing them. Now, as a young adult, I feel like I completely lost that spontaneity and simple mindset. Every project which I take up…

Kafka Nodejs Example with Producers and Consumers

Let’s take a look at a Kafka Nodejs example with Producers and Consumers. We will be creating a kafka producer and consumer in Nodejs. If you haven’t already, check out my previous tutorial on how to setup Kafka in docker. I already created a topic called cat that I will be using. Kafka Producer We are going to use the npm module called kafka-node to interface with our kafka and…

Flying a Drone With Javascript

Flying a drone with javascript probably sounds crazy and hard. Do I use a framework? Will the 10 GB of node_modules weigh it down? NOPE! It’s all pretty simple to do. The other day I came across a neat drone called the DJI Tello. It is a relatively inexpensive quadcopter that offers a simple SDK which can be accessed over WiFI. Using the NodeJS dgram library, I can send commands via UDP to…

Learning to Declutter and Clear Your Mind

I’m a mental hoarder. If you were to look inside my head, you would find all types of mental clutter. Boxes labeled “random shower thoughts”, trashcans full of personal bullshit, and a closet overflowing with reminders, ideas and useless information. This creates a negative impact on my ability to recall and recollect. I often find myself in this awkward situation where this was…

I Want to Do Everything so I Do Nothing

One of the most challenging areas of self discipline in life is time management. I often find myself in situations where I do not have enough time to complete all the things that I want to do. And it’s not because I am procrastinating; the second I get home from work I jump right into some new side project or video. The problem is that there are simply too many things that I want to do right…

Complacency After College

Up until graduation day, everything made sense. I’ll go to class, get good grades, then land a decent paying job so that I can move out of my parents and “start my life”. Amazingly, all of that happened fresh out of college at 22 years old. Back then, a couple of my peers have told me, “Damn dude, you’re living the dream.” In reality, I felt like I was far from…

Install Hyperledger Fabric on Kubernetes

I recently had the “amazing 🙄” opportunity to spend two weeks figuring out how to install hyperledger fabric on Kubernetes. There aren’t many guides on the internet besides this one . Unfortunately, I found it to be very vague and missing some keys steps. For this tutorial, let’s go step-by-step on how to install hyperledger on kubernetes. We are going to use some…

Getting Too Absorbed in Your Side Projects

When I start working on a side project, I fall into a really bad habit of getting too absorbed in it. The second I get home from work, I will start coding and testing for hours until I have to force myself to go to bed with only six hours of sleep at best. All the while, my laundry starts to pile up, my kitchen doesn’t get cleaned, and my social contacts get neglected from any meaningful…

Why I Switched From WordPress to Hugo

WordPress isn’t awful. In fact, I recommend WordPress to everyone who wants to start a blog. Despite this, I switched from WordPress to Hugo a couple of weeks ago. The real reason came down to cost and simplicity. Cost Running a WordPress blog meant that I needed a good shared hosting environment with a MySQL server and PHP execution. I first tried Hostgator, and it was sufficient enough…

Happiness and Anticipation

I am beginning to see the relationship between happiness, anticipation and dopamine. Dopamine is a neurotransmitter that is responsible for reward-driven behavior and pleasure seeking. ( Psychology Today ). When we get a hit of dopamine, we feel good! Anticipation is the simple act of looking forward; usually to a pleasurable experience but it could also be negative. In my previous post about…

Scientifically Proven Ways to Be Happy Again

During the winter holidays (peek depression season), I took a free online course called The Science of Well-Being offered by Yale University. It was actually recommended in a HackerNews comment that I came across in a thread about different MOOC (Massive Online Open Courses) to take. Other than my obsession with self help porn, I took this course because I wanted to learn on how to be happy again…

How to Setup Search on Hugo

Setting up search on your static site built using Hugo or Jekyll is not as difficult as it sounds. If your static site is hosted on GitHub pages (which mine currently is), then you will not be able to use php or any server side scripting. Therefore, we must rely on a pure javascript solution. Using Lunr.js Lunr is a popular library used to parse through data and return the most accurate match…

Ebooks are not social

If you are trying to be more social, consider investing in traditional books over EBooks. I know this sounds crazy, and no, Amazon did not pay me to say this. Ebooks are missing an important aspect that we have always took for granted in traditional book. There is no easily visible cover! This means people have no idea on what you’re reading. With traditional books, its out in the open for…

Search

Search

How to download any video from any site for free

You have probably discovered that downloading videos from certain websites is hard. If you try to download a video from youtube, you have to use one of the ad-infested free YouTube video downloaders. Other sites like Facebook, Instagram and Tumblr are even harder to find downloaders for. Luckily, there is a free and open-source program that will end your struggles and help you download and video…

How to Remove Bloatware from Windows 10

Believe it or not, Windows 10 comes with a lot of bloatware pre-installed on it. Things like Candy crash, Bing Weather, Bing Sports, etc. If you really wanted to, you could go through the programs and features tool and remove each app individually. However, that would take a lot of unnecessary time and some apps wouldn’t show up in that menu. To overcome this challenge, a user on GitHub created a…