Adventures with Linux

One of the areas that I’m weak with when it comes to is IT. Sure, I’ve done some basic things with RaspPi, and I can do some ESXI stuff, but by and large, I’m pretty lost when it comes to Linux.

Since the best way to learn something is to jump right in, over the weekend I installed Debian on my main laptop. My primary use of my laptop is RDP when I travel (over a VPN of course) to my main desktop, so this was a low-risk move. However, it would give me the option to really dig into it.

Right off the bat, I hit some difficulties. Debian doesn’t include WiFi drivers for my wireless card (an Intel one). I had to download those from Debian’s site and drop them on my USB key. That was a bit of a surprise.

However, once I was past that, the rest of the install went smoothly. Once I was in and set up, I spent some time getting all the things set up the way I liked.

All the other drivers seemed to be set up automatically. I remember (years ago) having to fight with display drivers, but all that was seamless.

I then started installing the software that I wanted to use. Since I use O365 for most everything, I just ran that through the browser, and called it day. Same with WhatsApp. However, I saw that Slack had an app, so I used that instead.

Just for fun, I installed Steam. I was surprise to see the amount of supported games that they had added. I did some reading, and it looks like a lot of them run using emulators. I’ll have to do some testing on that at a later date. While my laptop isn’t much for gaming, I’ve always enjoyed playing simpler games on it, like Darkest Dungeon, Sunless Seas, and Stardew Valley.

I’ll be adding more writings on this as I go.

OpenHab Part 3: More Hue

Finished getting all of my lights configured with OpenHAB, as well as configuring the sitemap.

Once I got the initial syntax down yesterday, the rest progressed very quickly.

What took most of the time, however, was getting my sitemap configured. Took me about 2 hours of comparing config files, and reading help files to realize that I hadn’t capitalized “switch” at one point in the config.


Once I fixed that, the rest came together very quickly.

Next up, getting my smartthings connected. But that’s for tomorrow.

OpenHAB Part 2: Hue

Since I already had a Hue bridge configured and setup with my lights, I decided to I’d start with integrating that into OpenHAB. I figured it would be relatively simple to do.

Well, that turned out to be rather optimistic.

Using the PaperUI, I was able to quickly identify the Hue Bridge. But, all attempts to connect kept failing. I checked the error message, and apparently I needed a username. No matter, I’m smart, I can Google things and get that information. Well, it sounded easy enough. There’s a hue API page (hueIP/debug/clip.html) where I was able to run the command (
{“devicetype”: “openhabHueBinding#openhab”} )to get the user ID. I had to press the button on the HUB, hit “Post” in the API page, and then got the User.

Thinking that that was all I needed to do, I copied the username to the PaperUI field, which is where I hit the next issue. PaperUI was insisting that I needed to do it via the .Items file. After finding the official openHab Hue page, I was able to generate the file and interact with the hub that way. Suddenly, all the connected lights popped up in the “Inbox” ready for configuration. As did 2 Hubs. Apparently, PaperUI only writes to the database, not the files, even though it pulls config from the files. At this point, I threw my hands up in the air, and abandoned PaperUI for config, and decided to do all the config from the files themselves.

This led to significantly more trial and error. At this point, I’ve got several things set up (lights and hub), as well as “items” for each of them (the actions that can take place).

My next step is get a sitemap up and running to interact with the lights. That’s tomorrow’s project.

OpenHAB on Raspberry Pi Part 1

For Christmas, I got a Raspberry Pi 3 B. I’ve been wanting to set up a homegrown smarthome, and am planning on using this as a base for that. I’ll be running OpenHAB on the Raspbian OS.

I already have some smarthome equipment, including a SmartThings Hub, some HUE lights, and several Alexa’s. I’d prefer to run as much as I can inhouse, without relying on cloud services. Obviously, (and especially with the Alexa’s), that isn’t entirely possible, but I want to do as much as I can.

I’ve not spent much time with Linux, know nothing about Python, and my electrical/circuitry knowledge is what I can remember from a kids book of experiments from my childhood. This will very much be a learning experience for me, and should broaden my knowledge about those subjects a great deal.

As it stands now, I’ve got Raspbian running, OpenHAB deployed via Docker, and am ready to start configuring over the coming days. I’ve not used Docker before either, but it seems pretty cool.

Let’s see what the coming days bring!

Philips Hue and a Baby

My wife and I had our first child recently, and are currently going through the “waking up all night to feed” stages. This is rough on everyone involved, so I wanted to see if I could set up a technical solution to make some parts of it easier.

I had some Hue lights already set up in my house, so I decided to start with them to make late night feedings a little easier.

I set up some in our bedroom, and some in our nursery. Since the baby is so little, he’s still sleeping in a crib in our room, but we’re keeping the changing stuff, and comfortable chair for feeding in the nursery.

I then got one of the Hue dimmer switches, and mounted it next to the bed. I configured it to control both the nursery and the bedroom groups of light, and set the default to be a very low powered light.

Now, when we get up in the night to get the baby, we tap a single button, and it sets the lights to a low setting, thus helping us not wake each other up, as well as not fully waking the baby up.

StorageSpace Oddity

So, I’ve been trying to figure out a weird issue with how drives in my Storage Space pool are being displayed. I first noticed this using Server Manager.

First, for background, my pool is a 2-way mirror with 17 drives, and weighs in at 23.6 TB formatted.

However, in this screenshot of server manager, you can see that Windows thinks it is 4 drives less than that. Disregard the retired drive, that’s removing currently.

If I go to just the basic drives view in server manager, I see some of the missing drives, as well as a few that are reflecting in the storage pool.

At this point, I was growing concerned, but figured it could be a GUI glitch. So I went to Powershell to pull out the list of drives associated with the pool. That showed exactly what I expected, all 17 drives:

I figured, since I was good there, I’d just verify that the visible disks to Windows showed correctly. I ran a get-disk, which shows the disks visible to the OS. This shouldn’t show the Storage Spaces drive, since they are abstracted by Windows. However, I can see a similar set of drives to what I saw in Server Manager, as you can see below.

Honestly, I have no idea what is causing this behavior. The storage spaces rebuild as expected after a drive failure. All pool health is returned as healthy. Just some drives show both in pool and visible to Windows.

Anyone seen this behavior before?

Windows Admin Center Highlights

Microsoft released Windows Admin Center very recently. Apparently, this was in preview form called “Project Honolulu” for a bit, but it seems that that slipped under my radar. It’s disappointing that it did, because this solves practically of my issues with running Hyper-V server.

While you can use “Server Manager” in the RSAT tools to do a lot of remote admin tasks for Hyper-V server (and Server Core), there are still gaps that aren’t covered. Or, there are parts that you still need to load up an MMC console, powershell, or some other tool.

Windows Admin Center, in it’s current form,  covers a most of my needs for administration on Server and Server Core systems. I’ll still need to load Server Manager for some tasks, but not as frequently.

First, let’s start with install. This runs on your local machine. It runs a small webapp in your browser to manage your various servers and systems (Did I mention, it handles Windows 10 as well?). Nothing extra needs to be installed on your target systems, which is nice.

Once it is installed, it loads up your browser, and you are able to start either manually adding, or importing your systems.

Here are some highlights:

This is the main overview page. It’ll show you specs and current utilization of CPU/RAM/Network, as well as giving some minor commands like rebooting.

For Hyper-V Server and Server core systems, this next screen is a huge help. Finally, you have the ability to directly manage drivers and installed devices, without having to go through a third party tool. I know that PNPUTIL and others do give some control, but this is much easier to manage.

Want to quick check on firewall config, and tweak your rules? You can do that here:

Need to run a Powershell command, but don’t want to open up a separate powershell instance? That’s covered too! And, if you’re a more visual person, there’s an RDP client in there as well.


This next one is another perk for Hyper-V/Server Core users. Gotta run some Windows Updates? Pull up the Windows Update page, and select your needed patches.

Beyond those highlights, there’s some VM management stuff, and very basic storage management.

There are still some things that require RSAT tools (DHCP/AD/IIS/Storage Spaces), but this is definitely a much needed tool to have in one’s toolkit.

You can download it here.

Quick Thoughts on UNMS

As it is probably obvious by now, I run a Ubiquiti network at home. I’m using their Unifi products for Wifi, and their Edgemax series for Router/Switch as well as a Point-to-Point link. While I prefer the Edgemax series for options and features, I’ve always wished that they would have something like the Unifi management for them.

My wishes were answered with UNMS. It’s still in a very early beta, so not all functionality is there yet, but it’s got a lot of coverage so far.

Let’s dive in!

UNMS covers a lot of the non-Unifi product lines. It covers EdgeSwitch, EdgeRouter, AirMax and several of their fiber lines currently. In most cases, it does not offer full functionality for all of the individual features, but it covers enough to be useful.

At the main screen of the site, it’ll show your sites and their uptime, as well as any recent notifications or errored devices. I have 2 sites set up right now, with a VPN between them. One site has an Edgeswitch and an EdgeRouter, and the other site has an Edgerouter and 2 Airmax devices.

The drops that you see there are from the rather high latency that I have with the other site that I keep an eye on.

On the Sites screen, it gives you the option to pick which site you want to drill down into.

I’ve picked one location here, and it will show the devices attributed. You can see the hostname, model name, IP addresses, and more just at a glance. This is helpful to quickly assess a location for issues. It also will let you trigger a firmware upgrade from here. An up arrow next to the version number acts a visual aid for that.

On the “Data Links” page, you can see any links that exist between devices. Here, you can see that we have a Wireless P2P link on the AirMax devices, as well as what frequency they are using.

There are also pages to upload site photos, and to view all logs from the devices on the site.

Moving on to the main devices page, you can see all devices for all sites, with resource usage, as well as a quick update for all needed firmwares.

Let’s look at one of the routers, and see what all can be done with it.

Here, you can see all the interfaces that I’ve got configured on the router. It shows all VLANS, PPOE, and Ethernet interfaces. It does not, however, show OpenVPN at this time. It gives you a quick at-a-glance usage report for the interfaces, as well as any dropped packets that may have happened.

Not going to go into all the other options, but it does let you control routing, some services, logs, and statistics.

One main feature that I like is the backups. It will backup your devices settings on a frequency that you configure. This makes it easy to restore your settings if something goes wrong, or if you need to revert to a prior config.

It also has a built-in SSH terminal for the router which comes in handy.

Right now, the router coverage seems to be the most full-featured. The switches options are much fewer.

In case you’re curious, here’s what you get with the AirMax. It covers most of the settings at-a-glance as well. More options than the switches, but not as many as you get with the routers.

I’ll be talking more about UNMS in the days to come.

In the meantime, you can get it here:

What Sort of Things are Found in One’s Facebook Archive?

With all the press about Cambridge Analytica and Facebook and the amount of data that is being captured, I figured I’d take a look into what was captured of mine. I know that there are some other, similar articles that have been done on this topic, but I was curious what I’d find since I disable some of the default data settings.

So here go! My archive came in at 5.25 GB. I started using Facebook back in the beginning of 2007, so that’s a little more than 11 years of data.

After extracting, and opening up the index file, I’m greeted with my profile information. On there they have every book I’ve ever read on Goodreads (makes sense, since I share the login), my phone numbers, previous email addresses, the things I like, and all relationships. Including my one-day april fool’s day relationship, whoops! One bit that stood out was that it listed what movies I’ve seen. It’s a very short list, so I’m thinking that it’s stuff that it has parsed from checkins.

Next down on the Index is “Contact Info”. I had thought that that would be all my contact info, but it turns out that that is my PHONE’S contact list. There’s a lot of names on here that I would only have had on my cell phone, so I guess there was a sync at some point? The other surprise here is that it seems to have captured EVERY number associated with them. So for my friends who constantly changed numbers (you know who you are!), there’s 10 different numbers linked.

The link after that takes me to timeline. This is a 25 MB HTML file that took a few minutes to fully load up. Probably due to it listing out every single Facebook activity taken. This includes every song I’ve played on Spotify since the mid 2012, every status update, every wall post, and so on. Interestingly, it’s just text. No images are included. Neither are any comments or liked. However, stuff other people posted on my wall is there. Go figure.

Following that we’ve got “Photos”. This has every album I’ve ever posted, including “wall photos”. These include comments, but no likes. It also includes limited metadata on the photos. No major surprises here, though one could count the raw face recognition data of me as being somewhat interesting.

Next up we’ve got videos. Same as the photos, just with videos. I have posted very few videos on Facebook. Per this, my last one was 2014. There are videos back to 2009. So far, it seems like everything is retained forever on Facebook.

Going down the list, the next one is “Friends”. This is a ordered list of all my current facebook friends and when we became friends. Further down there are friends that I’ve requested (but they never accepted), friends that have requested me (that I’ve ignored), friends that I rejected, and friends that I’ve removed (and the dates I removed them). So that’s interesting from a historical perspective.

We then have “Messages”, and wow, do they ever! Looks like every message that I’ve ever sent or received. Some interesting things here though. First, message threads that I’ve deleted are not here. Secondly, friends who have deleted their account show up as “Facebook User” with no name attached. Most shared images are included, but not all. For me, it seems like anything older than 2015/2016 are just blank. Just to check if something was missed, I scrolled back through old conversations on Facebook itself, and they weren’t there either. Go figure. But all the text is there (and the stickers!)

Oddly, there is an entire section for “Pokes”, which has the current friends who have poked me and the streaks. Kinda pointless in my opinion, but hey, gotta love completeness.

After that, we’ve got “Events”. It’s a list of every event I’ve been invited to on Facebook, going back to 2008, complete with my response. For me, mainly ignored or declined.

The Security page is interesting. It’s a list of programs that have access to my Facebook, ranging from phones, phone applications, Spotify, and so on. It also has changes to account, like changes to passwords, security settings, and profile pictures. These seem to go back to day one.

There’s then a page for “Ads”. This has all the ad topics that Facebook thinks I’m interesting in. Some definite oddities though. There’s a city where a friend of mine lives that I’ve never been to, some movie genres I’ve never cared for, and a couple bands that annoy me. Go figure. There’s also a a list of “Advertisers with your contact info”. Nice having that info, but a little alarming.

Next to last, we’ve got “Places Created”. I’ve got 2 places that I created on Facebook back in 2010. Nothing really interesting here.

Finally, we’ve got applications. This is just a list of the applications that I’ve got installed on Facebook. No surprises here.

So, there’s a lot of stuff here. I don’t see some of the stuff that I’ve seen reported elsewhere. I’m guessing this is due to my more selective security settings. I’ll probably tighten my settings a little bit more. Honestly, a little disappointed that some of my older Messaging images are gone, but oh well.




Moved to Storage Spaces Entirely

For the past few years, my home server has been running two different arrays. One 8 disk RAID10 array, and a large storage spaces array. As I’ve gotten other drives over the years, I’ve stuck them in the storage spaces array for anything that doesn’t require a lot of speed.

I was using the RAID10 array for files that I wanted to access quickly, but I was running into a few quirks. Mainly, since I was using consumer drives, I’d periodically hit an issue where the controller stops responding waiting for a drive to respond. This would then crash my server, causing me much annoyance.

Since I never saw this issue on my storage spaces array, I decided to relocate all the files on my RAID10 to another drive short-term so that I could wipe the array and get the individual drives back to storage spaces.

My storage controller for RAID is a RocketRaid 2720, so I set the drives up to be JBOD and off I went. Injected them into StorageSpaces, and moved the data on over.

However, I noticed that it was still a little quirky. Did some checking on the manufacturer’s website, and realized that I should have flashed it as a plain non-raid controller.

Since I had already moved the data over, I wasn’t sure if this was feasible, so I did some tests. I moved a drive from the this array to another port that wasn’t on the controller to see if storage spaces could read it. I mainly wanted to make sure that the rocketraid wasn’t doing anything funny with the drive. Amazingly, it showed right up.

I then reflashed it to be a simple storage controller with no RAID options. After I did that, I immediately had an issue where none of the drives for showing up. I run Hyper-V server as my Hypervisor, so I had to dig into it to see what was up, while panicking that I may have wiped out a bunch of data accidentally.

Turns out, I didn’t install the drivers for the reflash. Whoops! Installed those, and all the drives showed up in storage spaces, and everything has been stable for about a week now.