Jimmie Lightner

  • About
  • Privacy Policy
Illustration of a bird flying.
  • My Favorite Mac Apps 2023

    I’m a Mac despite having worked for Microsoft since 2015. šŸ˜…

    I love the Mac / Apple platform, but also loathe it. The latest changes Apple is pushing are ruining the entire ‘desktop’ experience. As such, I’ve yet to upgrade to Ventura – it’s a hot mess I’d prefer to avoid for as long as humanly possible. To extend Monterey and address some of its shortcomings, these are the apps I can’t seem live without:

    • Homebrew – For all the missing junk Apple doesn’t ship https://brew.sh
    • Amphetamine – Keeps your box awake for long-running stuff https://apps.apple.com/us/app/amphetamine/id937984704?mt=12
    • Mic Drop – set up a PTT (push to talk) hotkey that globally (un)mutes your hardware mic https://apps.apple.com/us/app/mic-drop-mute-manager/id1489816366?mt=12
    • SoundSource – Control audio on external devices, route audio to different playback endpoints, set per app EQ and volume, etc https://rogueamoeba.com/soundsource/
    • Little Snitch – Application Firewall (I don’t pirate apps anymore, but still useful to make sure they’re not doing anything untoward) https://obdev.at/index.html
    • Shottr – Way better screen shot tool, can even replace elements of images https://shottr.cc
    • Later – Restore Apps on your workspace later https://getlater.app
    • Hidden Bar – You’re going to need this when you have an out of control menu bar area https://apps.apple.com/us/app/hidden-bar/id1452453066?mt=12
    • Latest – Update all the Apps you didn’t get from Apple’s App Store https://max.codes/latest/
    • Synergy – Share your mouse and keyboard across machines https://symless.com/synergy
    • Parallels Desktop – Even a Mac guy sometimes needs Windoze for work https://www.parallels.com/products/business
    • 1Blocker – Best ad blocker I’ve found, and it works on iOS too https://apps.apple.com/us/app/1blocker-ad-blocker/id1365531024
    • Alfred – Replace Apple’s janky Spotlight nonsense with something more extensible https://alfred.app
    • iTerm2 – Again, replace Apple’s janky terminal app with something better https://iterm2.com

    I am in no way compensated by or affiliated with any of these Apps or their developers or parent corporations. I just use their software. šŸ¤“

    April 12, 2023
  • First Post

    I’ve been toying with the idea of rebooting this blog. Just some of the usual shenanigans: tech, aquaria, life. Nothing too fancy, either. Last time I got distracted by the complexities of converting markdown to static HTML with Wyam via DevOps and a cake script that deployed it all to an Az Storage account. This time we’re going old-school Wordpr*ss on a Mac Mini in my basement. To new beginnings.

    April 11, 2023
  • Customizing Configuration Manager Offline Servicing of Operating System Images Temporary File Location

    While working on a presentation for Microsoft’s Minority Student Day here in the Columbus office, I came across an annoyance with Configuration Manager 1610 in my lab. The ConfigMan server in the lab is virtual, hosted on Server 2016 in Hyper-V. The VM’s OS disk is set to be 128GB and stored on a high speed PCIe SSD (Solid State Disk), but an additional 2TB mechanical disk is assigned to this VM for ConfigMan Content, Images, Packages, etc. This normally works great, but when updating an Operating System Image using Scheduled Updates, Configuration Manager will attempt to do all of the WIM operations in a temporary folder on the disk you installed it on – for many, that will be C:. In my case that’s 20+ extra gigabytes I don’t want on the SSD. That’s a whole bunch of additional write operations, a large amount of data, and a better-suited workload for placement on the rotational disk.

    A quick web search turned up this handy article that someone from Microsoft published several years ago. Rather annoyingly, though, the information is a little hard to follow. Right off the bat, if you try connecting to the WMI namespace as suggested in their article, you’re going to have a bad time. You will scratch your head, wonder if this is worth even pursuing, and begrudgingly flip back to the search results to look for a better written article. Unfortunately, you’re not going to find one.

    To attempt to help shed some light on the subject, I thought I’d document my experience with this whole process. So first off, let’s have a look at the steps our well-meaning poster suggested in the original article.

    1. Launch WBEMTest
    2. Connect to the WMI Namespace for Configuration Manager
    3. Query WMI for Offline Servicing Manager settings
    4. Drill down into the properties to change the StagingDrive property
    5. Save the changes

    To get started, launch WBEMTest. Right click your Start button, select Run, type wbemtest into the box, then click okay. A happy little window will show up on your desktop. 

    Now we need to connect to the proper WMI Namespace. Fortunately, you can query these with PowerShell if you’re lost! This is how I determined the error in the original post!

    gwmi -namespace "root" -class "__Namespace" | Select Name
    

    If you followed the original article’s advice to  "Connect to the Configuration Manager namespace on the site server. For example, if your site code is ā€œCCPā€, connect to namespace 'rootsmssite_CCP'." you won’t get very far.

    I think the original poster left off several characters, namely ‘\’ where they should have separated root, sms, and site! So, the proper advice here is if your site code is “HHQ” (mine), connect to the namespace using “root\sms\site_HHQ”.

    Once you’re successfully connected, click the Query button and paste in the following substituting your own Site Code for HHQ:

    SELECT * FROM SMS_SCI_Component WHERE SiteCode='HHQ' AND ItemName LIKE 'SMS_OFFLINE_SERVICING_MANAGER%'

    This will hopefully return a Query Result! Double click the result. This will open the Object Editor. 

    Look for and double click Props in the properties list. This will open the Property Editor.

    Click the button titled View Embedded. There will be four objects in an embedded array to inspect in order to find the StagingDrive property. 

    Once you’ve located it, change Value1 in that list to whatever drive letter you want the temporary working folder to be placed on. I’ve chosen E:.

    You’ve come all this way – now for the most important part: Save your changes! If I took screen-shots of every click, this post might tie for a Guinness World Record for Longest Blog Post in Vertical Pixels. So follow loosely – basically click Save and Close for each window. My exact cadence was like so: Click Save Property. Now click Save Object and then click Close. Next, click close on the Query Result. Click Save Property and then click Save Object, and finally click Close. Whew! That was a lot of clicking. You may now exit WBEMTest.

    I’m not sure if you need to restart the Site Server to pick up this change, but the original article mentioned it would be used on the next Offline Servicing run. I bounced my VM for good measure. I truly hope this post was helpful and saved you a bit of headache. With any luck, you were able to switch your temporary working folder to your drive of choice!

    March 23, 2017
  • Home Lab Upgrade

    Azure is fun. It’s more than fun – it’s low-key kind of awesome. With just a few clicks anyone can make pretty much anything they want without having to have hardware on-hand to prop it up. All you need is money (or a sponsored Azure account from your workplace *hint hint*).

    While that’s pretty damn amazing, I missed having a kick-ass home lab. I still have one, don’t get me wrong, but it’s mostly fallen to neglect these days. It’s less of a lab and more of a home control appliance. It powers our home automation, turning lights, heat, etcetera on and off. It monitors the water level in the basement sump, reports effluent volume, charts high and low activity dates. It stores our local backups and files before they’re shipped off to an Azure storage account for off-site backup. It’s become less of a playground and more a real production system that we legitimately depend on.

    I still wax and reminisce about building my lab like any nerd building his computer. There’s something about picking out parts that complement each other, have some exotic performance or capability, or perfectly match the requirements. In my head it affirms my nerd-cred. It’s a physical representation of my membership card. Haha.

    I recently purchased a new gigabit switch with POE to power and connect our security and monitoring systems. Gigabit is typically fast enough for nearly everything we need, certainly so for surveillance and media purposes, but not so much for some of the other things I do with networked storage. I’ve noticed that with multiple machines connecting to the file server I can easily exceed the available bandwidth of a single link there. I toyed around with LACP and port channels (which work great, but still limit each client to 1Gb/s), but thought it might be fun to have something in an entirely different class – I think it’s time to make the step to 10 gig Ethernet.

    I managed to snag a Ubiquiti Networks US-16-XG SFP+ 10 Gig Aggregation switch for fairly cheap. I have some existing Unifi gear that I’ve had pretty decent luck with, so I wanted something that could integrate with that. Luckily they had just released this model (though, also a downside because it’s a bit buggy – more on that in a bit). The DL380P I use as a file / virtualization / automation server didn’t have a 10GbE interface, so I had to procure one of those as well. I ended up with an HP CN1100E for ~$100. It’s a dual port 10G PCIe converged network adapter that does Ethernet, iSCSI, and Fibre Channel (FC) connectivity over 10GbE. I won’t need anything but Ethernet for this deployment, but the price was right!

    The last major piece of the puzzle was cabling. I’ve not forayed into the world of SFP+ before, so I had to learn about optics, DACs, transceivers, and a whole mess of things that I was ignorant of previously. I already have Cat6 strung around the house, so I had hoped to utilize that to connect my desktop to this new 10G switch. I was very wrong. The transceivers for SFP+ RJ45 connectors are something like $300 each – and that’s on the low end of what I was able to find! It takes two per connection, an amount I’m not willing to spend. This particular connection requires a bit more thought. Perhaps a single 100′ run of Fiber would be more economical. The jury is still out on this one.

    Connecting the server and switches was relatively simple. I hopped over to the Ubiquiti community forums and checked out the list of DACs and Optics on the US-16-XGs compatibility list before settling on these iPolex passive DACs I picked up from Amazon. At ~$24 each, they’re fairly cheap. I utilized four of them in the lab rack – two from the US-16-XG to the DL380P, and two to the gigabit POE switch. This configuration essentially allows ~20 (theoretical, real world is obviously less) clients to access the server at their full gigabit line rate. The server connection is aggregated, as well as the inter-switch connection. I’m planning for the desktop to connect directly to the XG, as well, which will allow full 10Gb access to the server once I get the whole fiber thing sorted out.

    Now, about the bugginess of the switch. The US-16-XG was originally a bit finicky about the DACs. Others have reported this issue on the community forums, as well. I was able to get everything working by shifting things to different ports. For whatever reason DACs would work in some ports, but not others. I managed to get everything working, though. Here’s a snippet from the working switch configuration:

    (UBNT) >show fiber-ports optics-info all
    
                             Link Link                                 Nominal
                           Length Length                                   Bit
                             50um 62.5um                                  Rate
    Port     Vendor Name      [m] [m]  Serial Number    Part Number     [Mbps] Rev  Compliance
    -------- ---------------- --- ---- ---------------- ---------------- ----- ---- ----------------
    0/1      OEM              0   0    CSS31GB1516      SFP-H10GB-CU3M   10300 03   DAC
    0/2      OEM              0   0    CSS31GB1523      SFP-H10GB-CU3M   10300 03   DAC
    0/5      OEM              0   0    CSS31GC0602      SFP-H10GB-CU3M   10300 03   DAC
    0/6      OEM              0   0    CSS31GC0601      SFP-H10GB-CU3M   10300 03   DAC

    Overall, I’m happy with this configuration. Now that the server’s network connection is no longer the bottleneck, I can probably live with gigabit to my desktop – but I still dream of 10G! I’ll update the post with whatever I choose to do when I get it figured out. Until next time!

    March 18, 2017
←Previous Page
1 2

Jimmie Lightner