John Fecko John Fecko

Git Overview

Great video discussing my favorite version control system

Read More
John Fecko John Fecko

Disable Speaker on DJI Mini 2 Remote (Kinda)

I have been using my DJI Mavic Mini 2 drone to record my son’s high school marching band practices and performances. I’ve had a ton of success doing this, although there have been a few hurdles.

The first hurdle is that the drone does not have a microphone, so I have to record audio from the bleachers. It makes sense because any audio recorded from the drone would just pick up the sound of the propellors.

The second hurdle, and the point of this post, is the remote controller’s behavior when the battery gets low. When I am recording a half time show, I may need every minute of the flight time available. Unfortunately the remote starts chirping very loudly once the battery starts getting low. I understand the reason for this, but there is no way to turn it off. I decided that I wanted to disable this, so I opened up the remote to see what needed to be done.

I started by removing the four screws that secure that keeps the remove closed. There are two hidden under the rubber padding on the top of the controller. The other two screws are on the bottom of the controller where the control sticks are stored. On my remote, those screws were not hidden under anything.

DJI Mini 2 Remote (Front)

DJI Mini 2 Remote (Front)

DJI Mini 2 Remote  (Screw hole on top)

DJI Mini 2 Remote (Screw hole on top)

DJI Mini 2 Remote (Screw hole on bottom)

DJI Mini 2 Remote (Screw hole on bottom)

With the screws removed, I was able to slowly pry open the controller. I used a pocket knife and scratched the case. If I did this again, I would use some plastic pry bars that are used for auto trim. There are a few wires that connect the two halves of the controller. I did not need to disconnect those wires in order to do what I needed.

DJI Mini Remote (Open)

DJI Mini Remote (Open)

DJI Mini 2 Remote (Speaker)

DJI Mini 2 Remote (Speaker)

Once I able to get to the speaker, I decided to cover it with some high temp hot glue. The leds for the battery indicator are very close to the speaker, so I had to do some clean up. Once the glue cooled down, the chirping volume was reduced to the point where you might not even hear it.

DJI Mini 2 Remote (Speaker Modified)

DJI Mini 2 Remote (Speaker Modified)

Here is a recording of the UCF Marching Knights performing an exhibition at the University Classic in Orlando. This is not the best example, but this year’s high school videos are not public yet.

The two main critiques I have of this video are that the drone wasn’t in place in time and the angle was too high. The drone decided that it needed to calibrate when I tried to launch it, which is why it wasn’t in place in time.

Read More
John Fecko John Fecko

.NET Core Web App Development

I recently began working on an existing project that is an API written in .NET Core 2.1. After finishing the changes, I ran into a problem. I needed to deploy the app, but I do not have access to the IIS server. My .NET web development experience has always involved stopping the site in the IIS Manager app, copying the files, and starting the site back up. Without doing that, there would always be a file lock on at least one of the files.

Does .NET Core behave the same way? Yes it does. I did some reading online to see if there was a way around it. To my surprise there is. Create a file called app_offline.htm and place it in the application root. IIS server will serve that file instead of the web app, thus removing any file locks.

Problem: Can not deploy a .NET application to IIS without access to IIS on the server.

Solutions: Create a file called app_offline.htm and place it in the application root on the web server.

Resources: https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/advanced-enterprise-web-deployment/taking-web-applications-offline-with-web-deploy

Read More
John Fecko John Fecko

Postgres Error

Problem: Postgres is running on OSX, but nothing can connect to it.

Solution: Try deleting postmaster.pid by running the following command. rm /usr/local/var/postgres/postmaster.pid

Source: Stack Overflow

Read More
John Fecko John Fecko

Fibonacci Number (Last Digit)

This JavaScript code is written to demonstrate how to calculate the last digit of fibonacci numbers. For more information on fibonacci numbers, checkout this post.

function findFibonacciLastDigit(num){
    if(num <= 1){
        return num;
    }   
    let previous = 0;
    let current = 1;
    for(let i = 0; i < num-1; i++){
        let nextFib = (previous + current) % 10;
        previous = current;
        current = nextFib;
    }   
    return current; 
}
Read More