Jimmie Lightner

    • About
    • Privacy Policy
    • Shady Merchants
Illustration of a bird flying.
  • Ozotech Poseidon Racket

    It’s been a long time since I’ve given any thought to the ozone setup I run on the office tank. I was contemplating updating my 15+ year old (but still very much working!) AquaMedic 200 mg Ozone Generator with one of the Ozotech Poseidon units until I read on the Ozotech website they suggest replacing their corona discharge cells YEARLY?

    This seems like a HUGE racket to me – I’ve never had to do any maintenance beyond a simple flush of my AquaMedic unit. Do these Ozotech cells really go bad so quickly, or is this just an abundance of caution type thing? If this is true, not only will you pay nearly $300 for the unit, but another $100 / year for the privilege of changing out the CD cell! LOL NO THANKS!

    I asked this very question to BRS weeks ago, but they’ve yet to acknowledge or publish it. (gee, I wonder why?) I think I’ll be staying away from these! 😉

    I need a fellow fish friend in the EU to buy one of the new AquaMedic units and ship it to me! I’ll happily send you trashy American goodies and junk food in exchange!

    November 11, 2023
  • The Purge

    I’m done being idly complacent while shitty companies harvest or sell my data for their own benefit and profit. Let’s start with the largest offender: Google, I’m looking squarely at you. I’ve been a long-time gmail user – since the old days when an invitation was required to join. The service used to be the best there was. Their spam filter used to be top notch. The user experience was great. However, today, these things are no longer true. The one reason I stuck with Google all this time is now gone.

    For the past several months I’ve been migrating all of my online accounts that were linked to my gmail to other platforms or to self-hosted mail. It’s been tedious, but today, that transition is done! I’ve been waiting for this moment for what seems like oh so long. 🎉

    This is such a good feeling! One more click after ticking the box to acknowledge and…

    Good riddance, scourge of the net! I can finally enable the Little Snitch rules to block all Google IP space registered to their ASNs! The web is now a slightly better place. 🥳

    October 13, 2023
  • Cleaning Azure File Shares with Azure Functions

    One of the complaints I have about using FSLogix to store AVD User Profiles on Azure File Shares is that there’s no native way to clean up the stale / unneeded VHDs once users move on. If you search the web, you’ll come across some curiously misleading examples that discuss setting up an Azure Function to do this. I’ll share what actually worked for me, as the others did not!

    Requirements: I’d like to delete all VHDs that haven’t been modified in the last 90 days.

    Solution: I created a consumption (serverless) Azure Function App with a PowerShell core runtime.

    The official Microsoft documentation states that newly created Functions App projects have the necessary Az PowerShell modules by default, but that was not my experience. To enable the Functions Service to install / maintain the required modules, edit the requirements.psd1 file to look like so:

    @{
        'Az' = '10.*'
        'Az.Storage' = '5.*'
    }

    Once that’s done, you can create your Function. I created a basic timer function that runs daily at 30 minutes past midnight. To do that, my function.json file looks like:

    {
      "bindings": [
        {
          "name": "Timer",
          "type": "timerTrigger",
          "direction": "in",
          "schedule": "0 30 0 * * *"
        }
      ]
    }

    The last piece of this is the run.ps1 file that actually gets executed:

    $fileShare = "share"
    $storageAccountName = "simplefilesharestorage"
    $storageAccountKey = "YqoRK/En6bMJl+xWi7PVyDyTToOt/bwoGjaSZ/4adgyRRBvUW9K+HQBicyt2rVHRFUlrsSr4F/gg+AStOiapWg=="
    
    $filelist = Get-AzStorageFile -ShareName $fileShare -Context (New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey)
    
    foreach ($file in $filelist | Where-Object {$_.lastModified -lt ((Get-Date).AddDays(-90))})
        {
            $removefile = $file.name
            if ($removefile -ne $null)
            {
                Write-Host "Removing file $removefile"
                Remove-AzStorageFile -ShareName $fileShare -Path $removefile -Context (New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey)
    
            }
        }

    Obviously you’ll need to update the variables above with values relevant to your deployment. A quick way to test that things are working is to modify the Get-Date to AddSeconds instead of Days, upload a random file to your share, then kick off a Test Run.

    The first run will take a while as the Functions service installs the required dependencies. You may have to fiddle with a stop / start to coax this along, but it will eventually work!

    October 6, 2023
  • Credit Card “Convenience” Fees

    You ever have those nights where you just don’t feel like cooking even though you have plenty of food in the fridge? Yeah, that was us last night. We ended up heading out to Gallo’s Tap Room for dinner.

    The place wasn’t crowded despite it being 6pm. The patio had plenty of spots, so we sat with our backs to the sun and enjoyed some beer, wings, and a sandwich. When it was time to settle up, we even sprang for dessert to go. (Avoid it. For $8, that slice of cheesecake should be at least twice the size!)

    It was all good until the check came. That’s when I noticed a “convenience fee” was added to our bill with no warning. This is the second restaurant we’ve been to that has started doing this. It’s an ugly practice that will drive me to stop going to restaurants who do so. They’d be better off to bake that nonsense into the cost of the food – I can’t be the only one who thinks “guess that’s coming off the tip.” It’s not fair to the wait staff. Guarantee the management doesn’t care, though.

    When this happens from now on I’m using the card that will be most expensive for the establishment to accept, and then avoiding that merchant in the future! 😽 GFC!

    Now that I think about it, I’mma start a page to publish all of the places who practice this shit. Posted here

    If you want to contribute, drop me an email!

    October 2, 2023
  • Meet Koda

    We adopted a baby pupper! He’s something akin to a murder floof, or so the scary things you’d read about on the interwebz or hear about on TikTok would have you believe. Maligator, vicious, bitey demon, fur missile, etc. Some of those may be partly true. 😅 He’s got a little mouth full of razor sharp puppy teeth, but he knows it. He’s incredibly gentle with us (except when it comes to my toes … weirdo. ) but not so much with toys or sticks. I’ve never watched a puppy shred a stick in a sitting before.

    He’s still very young – 7 weeks and 5 days, but he’s learning fast! We’ve started crate training and aside from a mistake that was entirely my fault, he’s gone potty outside every single time!

    I’m excited for everyone to meet him! 🐕

    September 4, 2023
  • New Keyboard

    Earlier this week we had to get my partner a new keyboard and mouse setup – so we hopped across the road to Microcenter together. I should have known better. I can’t step foot in that store without getting something… and of course it’s something I don’t really need. I ended up with an ROG Strix Scope II keyboard and woah, this thing is badass! I was merely poking at the keyboards as I passed, but I fell in love with the sound and feel of the keys on this one. Enough to buy it.

    Having had it several days I swear I can type faster with it than on any other keyboard I’ve had. The only thing I’d wish to be different is to have a bit of an ergonomic curve, but otherwise I’d say it’s perfect.

    I’m fascinated by the fact that it can be paired with up to 3 different computers / bluetooth devices and flip between them. That’s just overboard crazy… or is it? There’s also a 2.4ghz USB wireless dongle or a USB C wired connection.

    I remember when my coworker was looking for a keyboard with backlighting… I thought it was a gimmick. It’s actually pretty neat and kind of useful (especially on a black keyboard used in a room with barely any ambient light besides the glow of the fish tank behind me). I ended up setting the lighting pretty dim – just enough to be able to make out the letters if needed but with a quick color change that responds to keypresses. It’s over the top, but it’s fun and makes me smile.

    I think it’s a far better experience than something like the Apple Magic Keyboard or Microsoft Comfort Keyboard which are both just flat and boring. There’s something to the tactile feedback and feel of mechanical switches – if nothing more than just nostalgia of keyboards past.

    Now I just have to get used to this 96% layout…

    July 30, 2023
  • Nope.

    You can shove the “payment method ownership” excuse up your ass, Poshmark. This little stunt right here is a blatant grab made to hoover up personal information that is both unnecessary and dangerous to consumers. What a scam!

    For being a clothing platform, your site sucks. You know it’s bad when even eBay is better! (I hate eBay, too, but at least they have their shit together. If you want to see what I’m talking about, go search for your jeans size on both sites. You can’t specify inseam on PM, but you can on eBay!)

    Edit: and I found the pants on eBay CHEAPER and with free shipping! I win. 🙂

    July 18, 2023
  • New Bike Day! 🚲

    While we were in Germany earlier this month, my friend (and coworker) John talked me into buying a new bike. John’s a badass… no shit, like the kind that competes in triathlons, Iron Man challenges, etc. So when he said “buy this bike” I bought the bike he said to get. 🤣

    Parts of the trip are a bit fuzzy from sleep deprived delirium, but I’m almost certain we started this conversation on day 1 while we were enjoying some German brews and pork schnitzel waiting for the hotel to find a room for me. I happened to casually mention that my partner and I were considering getting bikes – and he jumped all over it. His recommendation: the Canyon Grail:ON CF 8

    Anyway, the bike came today. It took about 40 minutes to unpack, put the front wheel on, fasten the seat post, and get the pedals situated. Then it was time for that first ride. I only went through the neighborhood, but #@%& that bike is QUICK! I can’t wait to ride more! (And get new pedals – the ones it came with are impossible!)

    June 20, 2023
  • Azure Cloud Challenge: Lime Survey

    Last week I worked with a team in Germany to deliver an Azure Hackathon. During the hackathon, we decided to create a cloud challenge for the team to work through. These challenges are difficult and require independent critical thinking. The requirements below were developed with the attendees, after which we worked at the whiteboard to develop an agreed upon architecture for implementation. No other instruction was given. Here’s our prompt if you want to give it a try!

    Homeroot.NET wants to leverage the freedom of open source software, LimeSurvey, to solicit direct user feedback using online web surveys. This data and insights will be used to research customer perspectives regarding satisfaction of existing customers as well as new-customer market research. The required infrastructure for this solution must be hosted securely in Azure and take advantage of available solutions that reduce the ongoing operational burden to the O&M teams. 

    The application must be deployed on separate Web and Data tiers. The web tier must be HTTPS only, secured by SSL certificates, and use a custom branded URL (<firstname>survey) within the company’s homeroot.net domain. The hosting platform must run Linux, though no specific distribution is preferred. A staging environment that closely resembles Production should also be available for pre-production change assessment. Backups must be configured such that the application can be restored with hourly granularity should any inadvertent changes be introduced. The solution must have a minimum of 2 active servers for redundancy and load distribution. Any uploaded content must be stored in a geo redundant manner and mounted at /home/site/wwwroot/upload transparently so that the application code does not need to be modified in order to change the storage location.

    The data tier must  leverage MySQL and must not be accessible from the internet. The MYISAM engine should not be used due to the lack of transaction support which can potentially lead to data loss. It is not necessary for TLS between the Web tier and Data tier, though it is not actively discouraged. The database service must be able to handle 1700 IOPS while still making use of burstable capacity and keeping operational costs to a minimum. Automatic backups of the database must be retained for 10 days and stored on geo redundant storage.

    June 13, 2023
  • Mother’s Day Blast From the Past

    Firstly: Happy Mother’s Day to all you Moms out there.

    While visiting my Mother today she unloaded what amounted to a time capsule into my car! She had three big totes of stuff from as long ago as my first baby shoes to as recent as High School graduation. I’m so tickled she kept all of this stuff for me!

    What REALLY got me going out of all of it was my first MP3 player and my old CD player. I used to be obsessed with music (and technology) when I was younger. This thing had to be from 1999 or something! The moment I walked in the door at home I popped some AAs in it and it still freakin’ powers on! I just need to find a CompactFlash card that will work (I think it came with 64 megabytes?) and find the software to put on it! Anyone remember RealPlayer? lol. 🤓

    May 14, 2023
←Previous Page
1 2 3 4 5
Next Page→

Jimmie Lightner