power management – Problem with fixed frequencies using CPUFreq Gnome extension

I installed CPUFreq Gnome extension on two different PCs with Ubuntu 18.04. One has a Haswell the other one Skylake CPU. I set minimum and maximum frequencies to be equal and turn Frequency Boost off. PCs are well cooled and CPU temperature is below 40 deg. C. Frequency on Haswell system stays very stable with occasional dips less than 1%, but it regularly dips a few percent on Skylake system, occasionally up to 10%:

enter image description here

The terminal above shows output of watch grep "cpu MHz" /proc/cpuinfo.

Is there anything I can do to make it more stable?

user – Term Store Management Link is invisible for Group Manager and Contributors

I want to give a user access to the Term Store Management of a site collection and I noticed that I can add multiple people to the Group Manager field. So I tried it and the user can access this page, but only if he or she specifies the direct URL, which is https://mycompany.sharepoint.com/sites/Websitecollection/_layouts/15/termstoremanager.aspx.

However, when this user opens the website settings, the Term Store Management menu item is not visible… I find it very inappropriate that only the direct link to the Term Store Management can be used.

Is there a user role that can access the Site Collection Term Store anyway? Or how can I include the link in the websitesettings of the websitecollection?

file system – Fishy password management

Problem

When it comes to security I like to don a tin foil hat.
As such I use the, off-line password manager, Keepass.
Keepass allows you to to use multi-factor authentication via; a password, a keyfile and the Windows user account.
I enabled only two of these, the password and the keyfile.
Because I have two computers that need access to the keyfile I’ve stored it on a USB stick.

On Windows everything is fine, I plug the USB in, I open the database, I eject the USB from the tray, remove USB and I can use the passwords I need. This in all takes two seconds.

Solution

However on Linux this feels like a whole song and dance. Consisting of something similar to the following:

# Plug in USB
lsblk
sudo mount /dev/usb1 /path/to/folder
keypass &
sudo umount /dev/usb1
udisksctl power-off -b /dev/usb
lsblk
# Remove USB

Whilst this in theory isn’t much different than Windows, it’s just an added mount and unmount.
Having to check lsblk and type all of that just to get a password is inconvenient.
And so I decided to script this away, it’s just ~6 commands, how hard can it be?

Fishy Solution

I’m a beginner with fish, I’ve not used functions or lists before.
And the only time I’ve set something was to update my path.
I’m such a noob that I tried to return ("" "") to return a list… 🤦
However I have some experience in other, non-shell, languages and feel I’ve picked it up ok.

  • pdev – finds a partition’s UUID, pkname, block path and mountpoint all from the UUID.
    If a device with a matching UUID is not found then it will continuously inform the user and attempt to reacquire the data.

  • pmount – This takes four positional arguments for the partition; UUID, target mountpoint, block path, current mountpoint.

    • If the partition has a current mountpoint it will fail if this is not the target mountpoint.
    • Otherwise, if the block path is a value then it will mount the partition to the target path.
    • Finally if neither of these are true it does nothing.
  • umount_all – This is given a pkname and unmounts all partitions of the drive.
    Whilst it’s unlikely that that the drive will have multiple partitions, and it’s even more unlikely that they’ll be mounted.
    I would prefer to err on the side of caution.

  • load_passwords – This is effectively the ‘main’ function. It takes a UUID and a target path. From here it:

    1. Get the mount information from pdev.
    2. Get the drive’s path. (This would be /dev/usb rather than /dev/usb1)
      This uses lsblk as simply cutting off the last number wouldn’t work on some storage devices. (I.e. nvme0n1p1)
    3. Display the partition’s information, the block path, highlighting the drive’s path, and the current mountpoint.
    4. Attempt to mount the drive using pmount.
    5. Open keypass.
    6. Ask the user if they wish to eject the drive.
    7. Exit successfully if the user does not wish to eject the drive.
    8. Unmount all the partitions on the drive with umount_all.
    9. Power off the drive.
    10. Verify the device has been powered off successfully.
  • passwords – A convenience function to pass the UUID and mountpoint that I use.

function pdev
    while true
        set mounts (lsblk -l -o UUID,PKNAME,PATH,MOUNTPOINT | grep "^$argv(1) " | grep -Po "(^ )+")
        if set -q mounts(1)
            break
        end
        read -P "Insert key drive "
    end
    for mount in $mounts
        echo $mount
    end
end

function pmount
    if set -q argv(4)
        if test $argv(4) != $argv(2)
            echo "Mounted to wrong directory"
            return 1
        end
    else if set -q argv(3)
        sudo mount UUID=$argv(1) $argv(2)
    end
end

function umount_all
    set blocks (lsblk -l -o PKNAME,PATH,MOUNTPOINT | grep "^$argv(1) ")
    for block_ in $blocks
        set block (echo "$block_" | grep -Po "/(^ )+")
        if set -q block(2)
            sudo umount "$block(1)"
        end
    end
end

function load_passwords
    set mounts (pdev $argv(1))
    if test $status != 0
        return 1
    end
    set drive (lsblk -o NAME,PATH | grep "^$mounts(2) " | grep -Po "/(^ )+")
    echo "PATH : $mounts(3)" | grep "$drive"
    echo "MOUNT: $mounts(4)"
    pmount $argv(1) $argv(2) $mounts(3) $mounts(4)
    if test $status != 0
        return 1
    end
    keepass &
    read -P "Eject drive? (Y/n) " -l input
    echo "$input" | grep -Poi "(^$)|(^y)" >> /dev/null
if test $status = 1
    return
end
umount_all "$mounts(2)"
udisksctl power-off -b $drive
lsblk -o UUID | grep "^$argv(1)$" >> /dev/null
    if test $status = 1
        return
    end
    echo "Failed to power off drive"
    return 1
end

function passwords
    load_passwords {redacted} /path/to/mountpoint
end

Note: Code Review has mangled my code. The code between the two /dev/nulls should be indented to match the rest of the function.

Concerns

  • If not a fan of using a for loop to echo each value in a list to ‘return’ a list.
    Is there a cleaner way to do this?

    for mount in $mounts
        echo $mount
    end
    
  • I’m not a fan of names like $argv(1) rather than $uuid as they make the code harder to understand. Is there a clean way to specify these?

  • The code feels unreadable, it’s why I’ve written such a thorough description here.
    I can see myself forgetting all this nuance and coming back to this in a year and go, which idiot wrote this?! 😡

  • I’m not a fan of having all the functions be public, pmount should probably be private.

  • I’m not a fan of needing sudo when I have access to /path/to/mountpoint. There’s a certain irony to needing to enter two passwords to get one…

  • I feel the code is just kinda messy and not great.

I am also happy for any other comments on my code.

24x7technicalsupport.net | Your Servers Are Safe | cPanel VMware SolusVM Virtualizor | All Type of Server Management | Free Server Monitoring | $29 | | Proxies123.com

24×7 Technical Support provides outsourced Webhosting support and server management services to web hosting providers and IT companies. We provide support services using commonly used the medium of communication as helpdesk, live chat and email support. Our plans provide real 24×7 human support with customized service options to choose from. We provide custom solutions specifically designed to meet client requirement to give you assurance and peace of mind when opting for our services. Apart from web hosting technical support the other services that we provide are server management, data migration and scripts installation.
==================================================
Our Unique Strengths!

Affordable Pricing “Always”
Best Security and “Top Quality”
Response Times “Guaranteed”
Scalable Support “On demand”
==================================================
Pricing:
Cpanel Server Management: $29/Month/server
Server Security and Harderning: 49/one time charges
VPS Server Management: $29/Month/server
Plesk Server Management: $29/Month/server
DirectAdmin Server Management: $29/Month/server
SolusVM Management: $69/month (Includes One master and One Slave)
Windows Server Management: $49/month/server (with or without control panel)
Plain Server Management : $49/month/server
Cloud Management : Starts @ $99/node
VMWare Server Management: Starting @ $49
Zimbra Management: Starting @ $49/node
=====================================================
Contact Us:
Email:
(email protected)
Skype: (email protected)
Live Chat
=====================================================
Our Server Management services include management and monitoring of your VPS, Dedicated Servers or even cloud servers. We specialize in Managing OpenStack and CloudStack Clusters with full support including instance level management.
=======================================================
All Plans include 24×7 Monitoring coverage worth $10.99/month without any cost.
We also specialize in application server management for Jboss/Tomcat as well as ready to use Cloudstack/Openstack Setups and other tailor-made setups.
Checkout Our Site Now!! and Get in Touch with us for promotional pricing.
========================================================
|| Tecsys Solutions LLC | Outperforming the Performers!! ||
|| Outsourced Server Management and Technical Support Solutions ||
|| Now Offering Secure Managed VPS and Dedicated Servers specially setup for Hosting Providers ||
|| https://www.24x7TechnicalSupport.net ||

=========================================================

dependency management – approach for manage dependencies of application

We have a lot of applications with their dependencies including ssis packages, sql scripts and other applications. other side, we have a lot of customers with diffrent conditions and statements.
our application have diffrent stack (java, .net core, python, web application, console and …) we deployed specific version of our applications for the customer based on their conditions. but for now, we have many challange to manage these issues.
many times we forget dependencies of specific application and we dont know how to migrate from specific version to another version.
is there any tools like maven and nuget? but for our objects (applications, ssis packages, or sql scripts). or maybe some approach!

game design – Mechanical tool for combat adjudication management

Adjudication seems straightforward to me: Determine the results of all actions before applying the results of any actions. Or fake it by remembering each participant’s status at the beginning of the round and using that status during all action resolutions. e.g., Even if someone has already been determined to receive a debilitating or fatal hit, they’re still treated as uninjured when resolving their action for the round.

The bigger issue is in handling declarations, since you presumably don’t want a player who declares their actions for the round later in the process to be influenced by the knowledge of what actions have already been declared by others earlier in the process. The traditional way of handling this in strategy games has been for each player to secretly write their orders for the turn, then simultaneously reveal the written orders.

Written orders quickly become cumbersome, however, so a number of more recent (or more beer-and-pretzels) games have turned instead to using cards or other physical artifacts to represent your choice of secret orders, which then allow for simultaneous reveals with lower effort than if you were using actual written orders. For example, in the 1980s strategy boardgame Shogun (later re-released as Samurai Swords, and then as Ikusa), players begin each turn by allocating plastic coins behind a screen for five different activities that can be taken during the turn and, if any funds are spent on hiring ronin, the ronin figures are placed on face-down cards representing the provinces where they are to be hired, which are then revealed when the ronin enter combat.

I’m not aware of any RPGs which have attempted to use similar hidden declaration systems, but the same methods used in strategy games should be directly applicable.

package management – How to get libdvdread4 in 20.04

I use Ubuntu Studio 20.04 LTS in three PCs: two desktops and one laptop.

But, because some reason I don’t know, into the Laptop there are not some DVD libraries I have in the desktops.

The libraries are related with the app “mkvtoolnix“, and the main is called: “libdvdread4“.

In the Laptop I have only the “libdvdread7” library.

The missed library doesn’t appear into the “synaptic package manager“.

From command line, when I try to donwload and install the missed library, I get the message:

The package are obsolete or it cannot to be found. But, another package has a reference to it…”

I don’t know which could be the difference between the devices repositories. I checked it, more than twice, and… The repository lists are identical, in the three devices!!!

How can I get the “libdvdread4” library to 20.04 environment? ???

Good Asset Management or File Tagging software recommendations?

I have been collecting all kinds of free and paid game assets for years now, everything from sound FX to art to system scripts to tools etc. Problem is it’s basically impossible to find anything anymore – they’re all spread across different drives and are for different kinds of projects and engines and game types.

I’ve looked into DAMs but they tend to be on the enterprise side, a lot of the tagging systems are too simple or only document based or require a monthly sub for more than X amount of tags/files.

I’m a Windows user, but I also have a 2tb Google drive account so if anyone has a way of integrating that I’d be very interested.

What do you all do for managing all of your assets in a more streamlined and convenient way?

Thanks!

PS. Should also mention I’m talking 100,000s of files

key management – Drawback of Multi Level Encryption

I am backing up my files to a RAID mirrored HDD, that has full disk encryption (FDE) in place with LUKS. Until now I did this with rsync, but I recently switched to a new backup program that does file level encryption as well.

So my question is: Is there any drawback of having multi levels of encryption, or is it actually an advantage? A drawback I can maybe think of would be managing two keys and forgetting one of them would potentially make my backup completely useless.

Which content management workflow tool is the best for inbound marketing?

Which content management workflow tool is the best for inbound marketing?