Nigerian domain spam farmers.

As it has been widely reported in circles near me, so mainly just to me, the domain bearing my name was lost some years ago to a nigerian spam farmer. They snapped it up rather quickly once I missed the expiration date. Why I'll never know, but there was a time when I had a rather high search engine rank for "Saying the Alphabet backwards" - and I may have to get that post back to the world again soon.... Anyways...

Duh, duh duh duhhhh!!! I have it back now. Hard to believe that the spam farmer who once owned my name could let it go, but by some miracle he did. And so now it points to this page. joelspangler.com lives another day! 

Now, there remains a few issues, among them the fact that my domain is still tied to some spam/malware blacklists from the years spent parking malicious ads and the like, so it currently just redirects here. Hopefully I will figure out a way to sort that out someday soon. 

That's about it for the day. May everyone have a wonderful evening. I'm spending the rest of my evening supporting a software deployment and listening to Snarky Puppy's newest album, Culcha Vulcha. it's different for them in some ways, but I'm now on my 3rd, maybe even 4th listen, and it's really starting to grow on me. I'd recommend it to anyone who digs a bit of modern fusion jazz, leaning more towards jazz.

joel spanglerComment
A bit of structure

Some quick notes:

 

Music - 
I have recently been studying the saxophone online with Bob Reynolds, whom, as it turns out, went to Berklee right around the same time I did. I think I actually went to his senior recital over at 1140 in Recital room 1A. Small world. 

Anyways, his lessons and approaches are pretty amazing. They have been forcing me to adapt a new mental approach to music. One of fundamentals, measured goals, and slow and steady practice. It's working. I've made huge progress already, and in a sense have tools I can access that would've been a stumbling block previously. It's quite enjoyable, and while not everything always goes perfect, there is a process in place to follow, and as long as you follow it, it tends to work out. It's like accelerated patience or something.... I swear I'm not high. 

Books - 
I started reading books again. Among them are some actual Scientology texts that we found at a local used bookstore (still shrinkwrapped!) - Those are something, really bizarre stuff. I'll have to go into how crazy the Scientology stuff is some other day (I call it real life Sci-Fi, happening right now). I am also beginning Neuromancer (William Gibson) , and Anathema (Neal Stephenson). I also have some other ones in the queue. Turns out Hard Science Fiction is my preferred reading style. 

Anyways, all this to say, adding some study and reading to my routine seems to have helped provide my life a tad bit of structure, and seems to be helping me. Go figure. Remember kids, Don't be a fool, stay in school! (GI JOEEEEEE). 

Later on.

Teeny Scripts that do Simple but Time Saving things.

Today, I made two tiny little scripts. I need to sort out error suppression - but these work great in a pinch, and can save a lot of time for what seem like simple tasks.

Ping test: There are a million of these, but this one works well enough for me, so there's that.

$serverlist = "C:\scripts\txt\list.txt"

foreach ($server in Get-Content $serverlist) {
    if (Test-Connection $server -errorAction SilentlyContinue) {
        Write-Host "$server is Online" -ForegroundColor Green
    } 
    else {
        Write-Host "$server is offline" -ForegroundColor Red
    }
} 

 

Check if a process is running on multiple servers: Yeah, this one happens more often than you think. And this little guy saved me a good half an hour or more just this evening.

#Check for Process
#JWS 2016

$servers = gc "C:\Scripts\txt\list.txt"

ForEach ($server in $servers) {

    if (get-process -ComputerName $server | where {$_.ProcessName -eq "processname"}) 
        { 
        Write-Host "processname is running on $server" -ForegroundColor Green
        }   
    else 
        {
        Write-Host "processname not found on $server" -ForegroundColor Red
        }

}

These little dudes took 5 minutes to throw together, and what a life saver. 

EDIT: Bonus Round! I combined them and took care of error suppression and made it even handier!

#Check for a Process on a server
#JWS 2016

$servers = gc "C:\Scripts\txt\list.txt"

ForEach ($server in $servers) {

    if (Test-Connection $server -Count 2 -ErrorAction SilentlyContinue) {

        if (get-process -ComputerName $server | where {$_.ProcessName -eq "processname"} -ErrorAction SilentlyContinue) 
            { 
            Write-Host "Process is Running on $server" -ForegroundColor Green
            }   
        else 
            {
            Write-Host "Process Not Found on $server" -ForegroundColor Red
            }
    }
    else  
    {
    Write-Host "$server is offline" -fore Red
    }

}
joel spanglerComment
Amazingness for Posterity. All Hail Snarky Puppy.

I know I posted this on Facebook some time ago, but I simply cannot get over this band. Everything I hear them do is flat out amazing. I genuinely consider this band to be the one who is paving the way for the next jazz movement, and it's fun to watch. 

Since I've found this band, I sincerely find myself wanting to pick up a tenor sax and start playing again. They give me a motivation for music I simply haven't had since I was 18. Just great stuff. I listen to this album alone at least once a week. It's just that good. 

joel spanglerComment
A work in Progress. #powershell

Recently ran into a situation. There is a data move happening where the destination is to a DFS location mapped to a NetApp. Normally, you'd be thinking, "Cool, robocopy can slide the data over with the permissions in tact." Well, no. The controller on the NetApp is configured in such a way that NTFS permissions get blocked. 

After doing some reading on this, I am fairly certain that there is a configuration "mistake" on the NetApp CIFS shares. Regardless, things being as they are, I do not have visibility into this NetApp, so I'm speculating. 

Ahhh, but in comes a Powershell module I've been using for various tasks for about 6 months now. It's a good one. Here is a link to it on the Powershell Gallery -----> Link

This module actually works. I know what you're thinking. Why not use the built in Get-Acl and Set-Acl commandlets we all know and love? Because these also fail (due to the aforementioned NetApp issue, specifically related to ownership permissions being out of sorts on the CIFS configuration. My theory anyways.)

And so, because this module allows you to directly apply NTFS permissions to the out of sorts NetApp shares, well, I decided I needed to script it. This is a work in progress, and while it "works", it doesn't work exactly right yet. I need to straighten out some of the logic concerning the accounts and/or groups and their related permissions. And I'll probably document this powershell module further at a later date. But for now, I'm placing the beginnings of this script here so I can come back to it later. Have a gander, and feel free to fix or improve this start. A working script is the goal, and saving time and drudgery is the reward.

$dir = "SourceDirectory"

$folders = get-childitem $dir | where { $_.PsIsContainer}

forEach ($folder in $folders)  {
    
    $path = $folder.fullname
    $trustees = Get-NTFSAccess $path
    

    forEach ($acc in $trustees ) {
        
        $newdir = "DestinationDirectory"
        $trustee = $acc.Account.AccountName
        $permissions = $acc.AccessRights
        Add-NtfsAccess -Path $newdir -Account $trustee -AccessRights $permissions
    }
}