About Robbie Ferguson

Connect with Robbie on Google+ or Twitter.

The day that Facebook died

We live in an interconnected world, where I, as one guy, can simultaneously exist in many places. But I can’t possibly be everywhere at once. So I rely on the amazing inter-connectivity of technology.

In August, Facebook made a big mistake. They cut off Twitter from cross posting thanks to changes to their API that are meant to make Facebook more secure against groups like Cambridge Analytica. They made changes that broke Hootsuite. But what I think the decision makers there don’t realize is that Facebook essentially isolated themselves as a desolate island that you must travel to in order to visit its dwindling population.

Neah, just come visit me on the mainland.

With Facebook no longer receiving my posts, my wall has quickly become a wasteland. That means people aren’t responding to my posts on their platform, which means I don’t get any relevant notifications, which means I never open the app. As if I’m going to login to Facebook, having posted on every other platform with two clicks, to then copy and paste my same post to their platform. As if!

I don’t use Messenger anymore (XMPP discontinuation: another bonehead move on Facebook’s part), have moved our chat to Discord (who have a wonderful API and webhooks, I might add), and haven’t checked my wall in two months … and growing.

Facebook thinks they’re too big to fail. I remember when MySpace was huge. I think I still have a MySpace account somewhere. I think my Facebook account will inevitably fall into that same forgotten realm of useless services that I no longer use.

So… follow me on Twitter… @RobbieFerguson

Fix: ESET Security Management Center Virtual Appliance Operating System is Not Up To Date

In some previous iterations of the ESET management virtual appliance (ie., ESET Remote Administrator) the operating system would update itself. However, with the new ESET Security Management Center virtual appliance, there is no such task scheduled.

After some time, this will result in the ESMC Security Notification:

Operating system is not up to date

In today’s ESMC exercise, we’ll achieve:

  1. Learn to create a client task,
  2. Learn to schedule a client task to run on a schedule,
  3. Learn to initiate a client task immediately.
  4. And of course, we’ll update our virtual appliance’s OS and get rid of that nasty warning!

Here are the steps to follow. Pay attention along the way so you understand what’s happening. I don’t need to explain it here, since it will be clear on screen as you follow the steps. But by doing this, you will better understand how ESMC’s client tasks operate, and will resolve this issue immediately.

TIP: Note that in the second section (where we run the task immediately) we do not have to create a new client task. Once a client task is created once, you can re-use it (run on) as many times as you like. Similarly, if you create say, a task to install ESET Endpoint Security on Windows Workstations, you can later “Run on” the new laptop you got, without having to create a new Client Task (resulting in redundant client tasks in your list).

Here are the steps to fixing the ESET Security Management Center Operating System is Not Up To Date issue:

  1. Click Client Tasks
  2. Click New at the bottom.
  3. Name the task something like “Update Operating System”
  4. Set Task Category to “Operating System”
  5. Choose task “Operating System Update”.
  6. Press Continue (not Finish)
  7. Check all 3 boxes.
  8. Click Finish.
  9. Click Create Trigger.
  10. Name the trigger “Weekly Update ESMC” or something to that effect.
  11. Click Continue (not Finish).
  12. Click Add Computer and put a checkbox next to emsc.local, and press OK
  13. Press Continue (not Finish).
  14. Change “Scheduled” to “Weekly” and set which day/time you’d like it to occur. Make it during off hours since it might require a reboot.
  15. Hit Finish.

NEXT we’ll run the task now.

  1. Single-click the new “Update Operating System” task (or whatever you called it in Step 3 above).
  2. Click Run On.
  3. Click Target at left.
  4. Add computer->esmc.local->ok
  5. Hit Finish.
  6. Computers->click the esmc.local system and press Send wake-up call.

Give it some time to complete, and then….

– Robbie

Remove ESET Management Agent / ESET Remote Administrator Agent – Batch File for GPO

I’ve got a customer who used to have an ESET Remote Administrator 6 server, and about 85 computers connected to it. That server was deprecated, but a client task was not initiated to remove the old agent first. So essentially, they ended up with 85 machines with an agent pointing to a dead server.

A new ESET Security Management Center server was deployed, and a new agent installer created. However, because ESET changed the name of the agent, installing the new ESMC agent does not in fact upgrade the old agent. So you either end up with two agents, or just remain with the old one pointing to a non-existent server.

You could go around to every workstation and manually uninstall the ERA agent. But yikes, that’d be brutal. You can’t do it unattended even, because the uninstaller asks for a password.

The customer’s site doesn’t have a password to remove it, so you just push enter. But the prompt still appears.

So I wanted to help them do this via a GPO. After all, what’s the point in having a network if you still have to treat each system as independent?

This command gives me a list of all applications that can be uninstalled. I ran it on my own system and see ESET Management Agent. I have ESMC 7. I ran it on an older system we have here, and it shows “ESET Remote Administrator Agent”. So I wrote a quick batch file to remove either of those two applications.

You can find that batch file here: https://github.com/Cat5TV/eset/blob/master/uninstallers/eset-uninstall-agent.bat

I figure there are probably various names for various versions of the agent, and I’ll add them as I find them.

ESET is currently evaluating my solution, as their support team says they have been encountering this problem more and more and had yet to come up with a solution. I hope it’s able to help some folks.

Robbie // Bald Nerd

Savory Vegetable Pot Roast with Easy Vegan Option

Here’s a veggie pot roast recipe we really enjoy at our place. If you want to make it vegan, all you have to do is use vegan Worcestershire sauce and veggie stock. Easy, right?

Prep time: 20 minutes
Cooking time: 6 hours

Ingredients:

  • 4 Large Yellow Potatoes
  • Approximately 2lbs bite-sized White or Brown mushrooms
  • 2 Large Carrots
  • 1 Medium red onion
  • 3 cups veggie stock
  • 1/2 cup red wine
  • 4 cloves garlic
  • 3 TSP dried thyme leaves
  • 3 TBSP tomato paste
  • 2 TBSP Worcestershire sauce
  • Sea salt & fresh pepper to taste
  • 1/4 cup Pot Barley
  • 2 TBSP Corn Starch

Directions:

  1. Pour 2.5 cups veggie stock (not the bland unsalted stuff – the good stuff) into your slow cooker.
  2. Add 1/2 cup red wine.
  3. Add 4 cloves minced garlic.
  4. Add 3 TSP dried thyme leaves.
  5. Add 3 TBSP tomato paste.
  6. Add 2 TBSP Worcestershire sauce.
  7. Grind some sea salt & fresh pepper into the liquid. A couple palm-fulls of each.
  8. Rinse and stir in 1/4 cup Pot Barley, blending all the ingredients thus far.
  9. Chop all vegetables into single-bite pieces (no need for knives when served). Mushrooms can be left whole, stems in, if they are not too large (they shrink a bit). Cut into half or quarter if they’re large. Firm mushrooms are nicest.
    • 2 Large Carrots (peeled)
    • 4 Large Yellow Potatoes (peeled)
    • Whole White or Brown Mushrooms, roughly twice the amount size-wise as the potatoes. Eyeball it. You can’t go wrong.
  10. 1 whole medium-sized red onion, peeled, cut in half, then into 1/8ths (like a pie). When you cut off the ends, try to leave enough to hold the onion together in the pot.
  11. Place each of those prepped veggies into the crock pot of liquid.
  12. Stir it all together to coat everything.
  13. Slow cook, covered on low for 5 hours. Do not stir.
  14. After 5 hours, whisk up 1/2 cup vegetable stock with 2 TBSP cornstarch in a separate bowl and pour evenly into hot crockpot. Again stir to coat / mix.
  15. Continue cooking, covered on low for 1 more hour. Do not stir.

Serve as is in pasta plates or other deep plates, with a fresh loaf of bread for dipping. For the kids, I boil a bit of pasta during the last 30 minutes of cooking so they can enjoy it with a side of noodles.

Enjoy!

-Robbie

Why I want to switch to DaVinci Resolve 15

There’s one thing–only one thing–that keeps me stuck on Windows 10 on my laptop, and that’s my need to edit video for the Category5 TV Network. It has to be pro, and Linux has traditionally lagged far behind in its available offerings in comparison to Mac or Windows when it comes to video editing.

I’ve used Cyberlink PowerDirector for years. I know, it’s a cheap application and professionals will laugh at me. But fact is, it works very well, and has all the features I need to make a professional looking broadcast.

But it only works on Windows, and so I’ve been stuck on Windows.

I’ve been watching the progress of DaVinci Resolve from BlackMagic since it was first released, and even tried getting it going a few times, but it’s always been unstable on Linux. So I’m still stuck. But seeing video tutorials about it, and watching the changelogs, it really looks like it could be the video editor of Linux.

I installed LMDE 3 to see if it would take DaVinci Resolve, and I see BlackMagic has still not made any strides toward improving Linux support. The installer sucks. The software depends on old libraries, yet doesn’t install them. It’s trash, really. A sad state to be sure.

I’m going to do some tinkering, try moving over to Linux Mint to see if the Ubuntu base helps things (ie., proprietary NVIDIA drivers will probably be a bit newer), convert Resolve’s installer to a deb pack, and try installing it there. I’ll probably go through a few distros just trying to see where I can get Resolve working stable. I have v14 working on our family desktop computer running Ubuntu, but it’s unstable. Hoping for better results with Resolve 15.

So beyond the Windows requirement I’m currently under, there are a few things I absolutely require out of my video editor, and these are things that have prevented me from being able to move to a Linux editor in the past, but DaVinci Resolve appears to meet the requirements.

ProRes 4:2:2 editing. Yeah, I need that now that we’re recording to an Atomos Ninja Flame. Cyberlink PowerDirector handles ProRes files like a boss. I know DaVinci Resolve will do the same.

When I produce shows like New Every Day, I badly need multi-cam editing functionality in my editor. We only have one camera on that set, but because it is 4K we punch in to cut it into 3 different camera shots. In Cyberlink Power Director, I assign each of these “cameras” (punched-in shots) to keyboard keys, and simply press the key to change cameras. It automatically creates the edits on the timeline, and saves me a TON of editing work, while making the show appear like it has 3 cameras. I’ve even thought about getting a second StreamDeck (or even a mini) just for multi-cam editing.

Multi-Cam Editing looks just as good, and possibly better in DaVinci Resolve than it is in Cyberlink PowerDirector. Though this video doesn’t mention anything about keyboard shortcuts, I can’t imagine you actually have to use your mouse to switch shots. If it does not have keyboard-based switching, I’d have to give this one to Cyberlink PowerDirector, but it’s close enough to make the transition to DaVinci Resolve work.

Dynamic Zoom is just as easy in DaVinci Resolve as it is in Cyberlink PowerDirector. I use this heavily to give the punch-in shots some movement as if there’s someone operating the faux camera.

So there are a few reasons I think DaVinci Resolve might be ready, and might be able to help me transition fully to Linux on my laptop. As long as it is stable. Here’s hoping!

[Update]

Linux Mint 19 took DaVinci Resolve like a champ! Just had to install libssl-dev and ocl-icd-opencl-dev with apt, and it loaded up just fine! No other tricks or gimmicks, and no having to create symlinks to libraries!

Obviously I had to active the NVIDIA drivers, and Resolve warns me performance may suffer on my old lappy, but I’m running!

DaVinci Resolve 15 running on Linux Mint 19

[Update 2]

Okay, so it’s running. However, even with gstreamer-plugins, vlc, and Mint’s multimedia codecs installed, Resolve only sees the PCM audio for MP4 files shot on the Sony FDR-AX53, which are XAVC.

XAVC-encoded video from the Sony FDR-AX53 is only showing as PCM Audio in DaVinci Resolve 15 on Linux Mint 19

At the same time, there is no audio coming out of the speakers, though DaVinci Resolve 15 is the first version to include native audio support (using ALSA) in Linux.

So I’ll try converting the video to ProRes using the format settings I see in mediainfo C0001.MP4:

I go to try it to see if it worked, and immediately start to think my old laptop might not be up to the task.

On the plus side, converting the video to ProRes worked (having rebooted, I can load it):

And there is sound now that the video has been converted!

But, it seems a sad fact that my computer is not up to the requirements to do this. Yet it works perfectly in Windows 10 with Cyberlink PowerDirector. So disappointing.

I’m going to continue tinkering with settings to see if I can squeeze some life out of this old girl.

Nerdgasms

I’m going to start posting any little helpful tools I create to make my life easier. I call them Nerdgasms. This list will grow over time, so be sure to check back!

  • Set Linux Time and Date
    NTP won’t help you if your date and time are too far out of whack. This has become even more so of a problem with single board computers that do not have a realtime clock. Power it off too long and you’ll lose your settings. This Nerdgasm is the easiest way to figure out what you need to type into the terminal to set your Linux system’s date and time.

NTP on Debian reporting 95 years in the future – Part 5: Patching the Kernel

If you haven’t read part 1 yet, make sure you start there.

Okay — I can’t wait 24 hours — I’m an eager beaver. But 14 hours later, the system is still showing the correct time. Let’s play.

Okay – so I’m on the absolute most amazingly modern kernel ever. Great! So let’s fix that kernel.

We’ll check again to see if the timer workaround is implemented in our kernel:

So what does this tell us?

CONFIG_FSL_ERRATUM_A008585 shows whether the workaround for Freescale/NXP Erratum A-008585 is active. The workaround’s description is “This option enables a workaround for Freescale/NXP Erratum A-008585 (“ARM generic timer may contain an erroneous value”). The workaround will only be active if the fsl,erratum-a008585 property is found in the timer node.”

For those who are even nerdier than me, check out kernel.org’s log of the patch here: https://patchwork.kernel.org/patch/9487241/

You’re such a nerd!

Now I’m getting into the experimental. I’ve never changed a kernel config before. Funny, that. I guess if you’ve never needed to do something, you never learn to do it.

I have yet to find online instructions for doing this, and here’s what I’ll try.

Note for tl;dr – this didn’t work.

Alright, let’s change my default config as we prepare to re-compile the kernel. I’m unsure if changing this config will make the newly compiled kernel receive the change or not, but it’s worth trying.

Great, my config is now set to include this patch.

Okay, I’m obviously gonna need the kernel headers here…

Looks good, and the default setting is the same as my running kernel config:

Great! I think I’ve made a connection… this file has the same setting as my default kernel config.

So since I’ve already updated my own config, let’s compile withΒ oldconfig – I’m assuming that means “grab the old config”… hmmm…. makes sense to me.

Alright, is it set now?

Weird… the setting is gone! Well, let’s see what happens? Maybe the kernel will default to “yes” if the setting … let’s try.

Oh – If it’s going to ask me to say yes to a crapload of defaults, I’ma abort that!

I’ll trust the kernel devs and my config πŸ˜›

Wow, that’s a lot of output.

Now, a quick reboot and re-connect, and then check the running kernel…

Darn.

Strangely, the default config (my config) shows that my setting remains there…

So maybe I just didn’t compile it correctly.

I wish someone in the threads would have posted how to actually add this. I mean, as a teacher, I try not to make assumptions. Saying to someone “set CONFIG_FSL_ERRATUM_A008585=y in your kernel” is a big assumption. Even I, the Bald Nerd, am not quite sure how to do that, yet I’m sure the people who make the statements are. Let’s instead post the actual commands or at least point the person in the right direction.

I’ll try to figure it out in the next couple days, and will post my step-by-step. I’ve posted a cry for help in the forum thread related to the Debian image I’m using. Hopefully they can point me in the right direction.

UPDATE: Ohmigosh, it just hit me… this is using make, yet I didn’t install!

Let’s try it, just for good measure:

Grr….

Yeah, there’s no install.sh there.

I’m sure it’s something simple I’m missing since I’m not experienced at this kind of thing.

More to come!

NTP on Debian reporting 95 years in the future – Part 4: Back To The Past

If you haven’t read part 1 yet, make sure you start there.

I had a great idea after posting part 3 last night… why not try to set the interface as static so DHCP isn’t impacted? That way, I won’t have to re-flash to an earlier image. So I stuck the SD card into my SD reader and low and behold, /etc/network/interfaces is accessible! So I commented out the DHCP line and set it instead to the static IP I have reserved for it, and low and behold, I’m up and running.

And to boot, get this:

That’s right… the date is correct after booting this way.

Strangely though, there are no updates in /var/log/dpkg.log – the last entry was in 2113.

Another interesting anomaly when checking the ntp service:

Hmm, yeah… it has been running for over 95 years. Yet the date is correct on my system now.

Hmm….

So, let’s just try…

And… wait for it….

Sweet.

Okay, so let’s leave the server running for 24 hours and see if this is a DHCP-related issue.

To be sure, I have indeed checked my router to make sure it’s not serving up bogus NTP timestamps, and it’s all good.

What’s Next? Read Part 5:

NTP on Debian reporting 95 years in the future – Part 5: Patching the Kernel

SBC Distros I’m Working On

Those who follow me closely in the SBC world know what I’m up to, generally, but I thought it’d be fun / useful to list some of my main distros I am working on.

NEMS Linux
This one is pretty darned obvious. My most popular distro to date. Learn more at https://nemslinux.com/

PlexPi
Plex Media Server for the Raspberry Pi 3/3B+. I may eventually port this to more powerful SBCs as well. I think it’d do amazingly on a RockPro64. https://plexpi.com/

Retropie-based Retro Gaming Distro for ODROID XU4 + others
Yet to be named build to port Retropie properly to the XU4 and other SBCs where it is either not yet [well] supported or onerous to configure.

Camera System
Yet to be named Raspberry Pi distro to turn any supported IP or USB camera into a sophisticated webcam ideal for weather stations, resorts, hobbyists. Not intended for surveillance, though it could be used for this too. Includes an impressive deduplication system I wrote which reduces the number of stored images by matching their image data: if there is no change in the scene, the image is not saved. Also allows stream relaying from an RTSP compatible IP camera or standard USB webcam to YouTube Live (video only), interval-based snapshots with automatic upload to web, and more. My hope is that I can turn even a Raspberry Pi Zero W into a very impressive webcam system.

Turnkey Servers
I plan to release some turnkey servers for SBC such as WordPress, LAMP, XMPP and so-on. Many of these will be in competition with existing turnkey builds, however I feel myΒ Migrator off site backup system will help my builds stand out from the pack.

Alexa for Raspberry Pi
A fair few tutorials exist that help a user build an Alexa-powered assistant device out of a Raspberry Pi, but I’d like to see a streamlined distro built around the concept… so I’ll build one.

Which project has you most excited?

NTP on Debian reporting 95 years in the future – Part 3: Community

If you haven’t read part 1 yet, make sure you start there.

Hooray! I am not alone, and it does indeed appear to be a Pine64-specific issue. That means I’m not crazy. Or at least, this issue doesn’t prove my craziness.

  1. https://forum.armbian.com/topic/3458-a64-datetime-clock-issue/
  2. https://forum.armbian.com/topic/7423-pine64-massive-datetime-clock-problem/

Looking at martinayotte‘s suggestions, since he seems to have been through what I’m going through right now…

Okay, so just in case they fixed it already, let’s just try…

Hmm, it seems apt doesn’t like time travelers like me. So … [le gasp]…

Wait for it….

Like trying to play my 8-track cassettes in a Blu-Ray player, apparently some services don’t play nicely 95 years in the future. DHCP is showing locally on the TTY splash screen as 127.0.0.1, and the only way to recover will be to re-flash to a point before the NTP issue struck.

What’s next? Read Part 4:

NTP on Debian reporting 95 years in the future – Part 4: Back To The Past