Everything posted by Cowboy Denny
-
Footloose ACT I (Scene 3: Behind a Gas Station)
ACT 1Scene 3 (Behind a Gas Station)Chuck, Ariel, Twyla and Lyle @alex
-
Footloose ACT I (Scene 2: The Churchyard)
ACT IScene 2: The ChurchyardShaw
-
Footloose ACT I (Scene 1B: The Town of Bomont, In Church)
ACT 1Scene 1B: The Town of Bomont, In ChurchShaw, Ren, Ethel and Company
-
Footloose ACT I (Scene 1A: The City of Chicago)
ACT IScene 1A: The City of ChicagoRusty, Wendy Jo, Urleen and Company
-
nginx-agent connection issues
This is me troubleshooting connectivity to F5 Distributed Cloud (XC) NGINX One Agent from our internal NGINX+ instances. NGINX-AGENT Config File cat /etc/nginx-agent/nginx-agent.conf NGINX-AGENT Status sudo systemctl status nginx-agent NGINX-AGENT Log File Start of log sudo head -n 50 /var/log/nginx-agent/agent.log End of log sudo tail -n 50 /var/log/nginx-agent/agent.log ERROR logs time=2026-04-09T14:19:11.240Z level=ERROR msg="Unable to update data plane health" error="command service client not connected yet" correlation_id=142e437b-341f-11f1-aeca-506b8d721489 server_type=command time=2026-04-09T14:19:11.999Z level=ERROR msg="Failed to create connection" error="rpc error: code = Unavailable desc = connection error: desc = \"transport: authentication handshake failed: credentials: cannot check peer: missing selected ALPN property. If you upgraded from a grpc-go version earlier than 1.67, your TLS connections may have stopped working due to ALPN enforcement. For more details, see: https://github.com/grpc/grpc-go/issues/434\"" correlation_id=11334b61-341f-11f1-aeca-506b8d721489 server_type=command POTENTIAL ISSUE -- Connecting through a proxy or load balancer that strips or doesn't support ALPN ** reach out to SECURITY team and validate they don't have a setting to strip out ALPN or http2 at the proxy Check version of grpc-go sudo dnf info python3-grpcio Not root, Subscription Management repositories not updated nginx agent repo 17 kB/s | 12 kB 00:00 EPEL_9 28 MB/s | 25 MB 00:00 infratools_ansible 320 kB/s | 155 kB 00:00 Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs) 21 MB/s | 86 MB 00:04 Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs) 24 MB/s | 109 MB 00:04 Available Packages Name : python3-grpcio Version : 1.46.7 Release : 10.el9 Architecture : x86_64 Size : 2.0 M Source : grpc-1.46.7-10.el9.src.rpm Repository : ALLYBANK_EPEL_9_epel_9_repo Summary : Python language bindings for gRPC URL : https://www.grpc.io License : Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT Description : Python language bindings for gRPC (HTTP/2-based RPC framework).TEMP Workaround to test Set Variable: GRPC_ENFORCE_ALPN_ENABLED=false on the client side Rollback: unset GRPC_ENFORCE_ALPN_ENABLED ADD Additional DEBUG GRPC_GO_LOG_VERBOSITY_LEVEL=99 GRPC_GO_LOG_SEVERITY_LEVEL=info Rollback unset GRPC_GO_LOG_VERBOSITY_LEVEL=99 unset GRPC_GO_LOG_SEVERITY_LEVEL=info NGINX-AGENT Restart sudo systemctl restart nginx-agent GET TCPDUMP of ALPN http2 sudo tcpdump -i any -nn -vv -s0 port 443 -A -w /home/user/nginx-agent-alpn-http2-20260415_1014.pcap ..
-
St Patricks Day Playlist
Any idea of a playlist for St Patricks Day?
-
Build a Debian Nutanix VM
Here are the steps to building a Debian Virtual Machine on Nutanix
-
How to disable IPv6 on Linux
We have an agent we are using on our RHEL build and the agent can communicate via IPv4 or IPv6 but we do not have IPv6 established in our network so I want to disable IPv6 since the agent keeps defaulting to IPv6 and failing. So what do you do? Verify IPv6# Show IPv6 addresses on all interfaces ip a | grep inet6 # Check that no IPv6 addresses remain on the interface ip -6 addr show dev ens224 # The output should be empty (no IPv6 addresses listed) # Confirm the setting stuck nmcli connection show "ens224" | grep ipv6.method # Should show: ipv6.method: disabled # Show IPv6 method for all connections (interfaces) nmcli -f NAME,IPV6.METHOD connection show # Or check sysctl for all interfaces sysctl -a 2>/dev/null | grep disable_ipv6If the command returns no output, IPv6 is successfully disabled Disable IPv6 on a Specific Interface# Disable IPv6 on the ens224 interface sudo nmcli connection modify "ens224" ipv6.method disabled # Apply the change sudo nmcli connection up "ens224"Disable IPv6 on Multiple Interfaces# Disable IPv6 on a list of connections for conn in "ens224" "ens256" "virbr0"; do sudo nmcli connection modify "$conn" ipv6.method disabled sudo nmcli connection up "$conn" echo "IPv6 disabled on $conn" doneEdit the GRUB configurationsudo vi /etc/default/grubAdd ipv6.disable=1 to the GRUB_CMDLINE_LINUX line inside the quotes.GRUB_CMDLINE_LINUX="... ipv6.disable=1"Regenerate the GRUB configuration:For BIOS-based systems:sudo grub2-mkconfig -o /boot/grub2/grub.cfgFor UEFI-based systems:sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfgTo identify if RHEL is running in UEFI or Legacy (BIOS) mode, check for the presence of the /sys/firmware/efi directory. If the directory exists, the system is booted in UEFI mode. If it does not exist, it is using Legacy BIOS. Check for UEFI Directory: Run ls /sys/firmware/efi. If it lists files (like config_table or vars), it is UEFI. Check via Command Line (Alternative): Run [ -d /sys/firmware/efi ] && echo "UEFI" || echo "Legacy". Check via dmesg: Run dmesg | grep -i "EFI" to look for EFI-related boot messages. Check via dmidecode: Run sudo dmidecode -t bios and look for "UEFI is supported" or BIOS characteristics. UEFI: Uses /sys/firmware/efi and typically GPT partitions. Legacy: Lacks the EFI directory and typically uses MBR partitions Reboot the system:sudo rebootSUMMARYSelectively disabling IPv6 per interface is the right way to handle IPv4-only network segments on RHEL. Use nmcli connection modify with ipv6.method disabled and you get clean, persistent, per-interface control. Stay away from kernel-level global disabling unless you have a very specific reason and fully understand the consequences.
-
Record a Podcast on Mac
Expanding on how to setup the referencing https://rode.com/en-us/user-guides/rodecaster-duo/how-to-get-started-with-the-rodecaster-duo PRE-REQ XLR Microphones with XLR cables (max of 2) Headphones with the 3.5mm connector (if your headphones have 1/4" you can use a reducer) Move sliders all the way down before connecting cables Macbook with USB-C connector or adapter INSTRUCTIONS
-
Record a Podcast on Mac
The MacBook Pro is a powerful and versatile device with all the necessary tools and software to record, edit, and produce high-quality podcasts. However, it is important to understand which software and equipment you need before you start working on your first podcast episode. Podcast Hardware Requirements Microphone A good-quality podcast microphone is crucial for capturing clear and professional audio. USB microphones like theSamson Q2U or Audio-Technica ATR2100x are popular for beginners, as they are easy to set up and provide decent sound quality. However, there are many different types of microphones out there, depending on your skill level. Check out this link or even this link for more information on microphones used for podcasting. As a DJ I really like the Shure MV7 but thats my personal and professional preference. It offers both USB-C and XLR outputs. Microphones are usually USB or XLR with the higher end/professional microphones using XLR. USB you will just plug into your mac but XLR you need to convert XLR to USB and I’ll go over how to do that here. To set up the microphone or microphones start by first plugging in your microphone into your mac. If you have USB Microphone, just plug it into an open USB port on your mac. If you are going the more professional route with an XLR microphone then you have a couple different options on how to connect that to your mac and let me briefly touch on those, Simple but could be prone to issues A step up and decent for most cases is this PreSonus AudioBox USB 96 2×2 USB Audio Interface, Blue, PC/Mac – 2 Mic. On the back you plug your USB cable in and run it to your mac. Plug your XLR Mic on the front and you now connected to your microphone or microphones And studio version would be something like this PreSonus AudioBox USB Studio 26c. On the back you plug your usb-c cable in and run it to your usb-c port on your newer mac. Plug your XLR Mic on the front and you now connected to your microphone or microphones OR you could use this VERY popular setup Next click the search icon at the top right of your screen Now type Audio MIDI Setup and click on it when it shows up Click on the + button to add aggregate device (combine multiple mics) Now move over to Garageband and click on Garageband in the top left corner and click on Settings. Now click Audio/MIDI at the top of the screen and under Devices – Input Device select the Aggregate you just created In Garageband create or project Now you will see the two microphones in the aggregate (if you setup two originally) now click on one and at the bottom under Track make sure the Input is 1-2 and for the 2nd microphone make sure the Track has inputs as 3-4 Now you are ready to record your podcast… All of this is a one time setup for your microphones Headphones A reliable pair of podcast headphones is essential for monitoring audio while recording and editing. Closed-back headphones are preferable, as they help reduce external noise bleed into the microphone. Take the time to look at different headphone options before you start. Check out this link for some headphone/headset ideas. Pop Filter While not an essential item, a pop filter could make your audio sound on point. A pop filter helps prevent plosive sounds (“pops”) from overwhelming your recordings. It’s a simple device in front of the microphone to diffuse air when pronouncing words with strong “P” or “B” sounds. Of course, if you are strapped for cash, you don’t need one of these. Check out this link for more information about pop filters and all the different choices Microphone Stand or Boom Arm A stand or boom arm helps keep the microphone stable and in the right position during recordings. It reduces handling noise and ensures consistent audio quality. Some microphones come with a separate stand that you can set up. An example of a boom arm for your mic you can see here Podcast Software Requirements Recording Software To get the most professional sound, you need decent recording software. In this guide, we will take a look at some of the best options. Note that when choosing your recording software make sure you choose software for what you need. Some software only records audio, but most record both. Editing Software Many recording software includes built-in editors. Though if you want to make more advanced edits, you may need separate podcast editing software. For Mac, you’ve got GarageBand already installed on your computer. This editor is more for music, but it’ll do fine for podcasts. The platform offers a range of tools for editing, adding effects, and mixing your podcast episodes. Other suggestions include Final Cut or Premiere Pro if you’re recording video. Podcast Hosting Platform While not Mac-specific, you’ll need a podcast hosting platform to upload and distribute your episodes to various podcast directories. A podcast host is where you store all your episodes, while a directory is where you publish your content for your audience to access. Just a few popular hosting options include: Libsyn Podbean Spotify for Podcasters PodCastHost Riverside How to record a podcast with Garageband GarageBand is a powerful digital audio workstation that comes pre-installed on macOS, offering a range of tools to enhance your podcasting experience. Key features: Pre-installed on MacOS 100 EDM- and Hip-Hop–inspired synth sounds Transform Pad Smart Control Add multiple tracks Available on your Mac or iOS Step 1: Open GarageBand and create a new project Launch GarageBand from your Applications folder. Click Create new project and select Podcast as the project type. Choose a name and location for your project, then click Create. Step 2: Choose the microphone input and adjust the settings Connect your microphone to your Mac. In GarageBand, go to the Track Header area on the right side of the window and click the ‘+’ button to create a new track. Select Audio for the track type and choose your connected microphone from the input settings. Step 3: Set up headphones for monitoring Connect your headphones to your Mac. Monitoring your audio while recording is essential to ensure sound quality and detect any issues. In the Track Header area, click the small headphone icon to enable monitoring for each track. Step 4: Create a new track for the recording If you plan to have multiple podcast participants, create additional tracks for each person. Click the ‘Track > Configure Track Header’. Next, click the Record Enable button in the header of each track you wish to use during the recording. Step 5: Record your podcast episode Click the red record button at the top of the GarageBand window to start recording. Speak into the microphone clearly and ensure everyone’s audio levels are balanced. When finished, click the stop button to end the recording. Step 6: Edit and enhance the recording (if needing) After recording, you can edit the podcast episode to remove any mistakes. Use GarageBand’s editing tools, such as the scissor tool, to cut and rearrange segments. Step 7: Export the final podcast episode Go to the File menu and choose Export to disk. Select the format, adjust the quality settings if needed, and click Export to save the final file to your desired location. If you prefer following along with a video here is a video to walk you through the process of creating a podcast using Garageband on your Mac. How to record a podcast with QuickTime on Mac Recording a podcast with QuickTime on Mac is a simple and effective way to get started in the world of podcasting. QuickTime is a built-in application on macOS that offers basic audio recording capabilities, making it accessible to beginners. Key features: Built-in on MacOS already Simple to use Basic audio recording Split audio into multiple clips Easy to use for beginners Step 1: Open QuickTime Player First up, go to your Applications folder, locate QuickTime Player, and open it. You can also use Spotlight (Cmd + Space) and type ‘QuickTime Player’ to launch the application. Step 2: Set up audio and microphone input Connect your microphone to your Mac. In QuickTime Player, go to the ‘File’ menu and select ‘New audio recording.’ A recording window will appear. Click the small arrow next to the red record button in the recording window. It will reveal a drop-down menu where you can select the connected microphone as the input source. Step 3: Check audio levels Before recording, speak into the microphone at your normal volume to ensure the audio levels are high enough. You should see the audio level meters responding to your voice. To adjust the recording quality, click the small arrow next to the record button again and choose Audio quality. Select the appropriate rate based on your podcasting needs. Step 4: Record your podcast To begin recording your podcast, click the red record button. Start speaking clearly, and ensure you are adequately positioned near the microphone. When you’ve finished, click the stop button (square) in the recording window to end the recording. Step 5: Save the recording After stopping the recording, QuickTime will automatically open the recording in a new window. Go to the File menu and select Save to save the audio file to your desired location on your Mac. If you prefer following along on a video, here is a video on how you can create a podcast using Quicktime on your Mac Podcasting on Mac: Troubleshooting for Common Issues Now that you are ready to start podcasting on your Mac, let’s talk about some of the issues you may come up against. Here’s what they are and how to solve them. Low microphone volume: Check the input volume settings in your recording software and Mac’s System Preferences. Ensure the microphone is properly connected and functioning. Audio distortion or clipping: Reduce the input volume to avoid overloading the microphone and causing distortion. Use a pop filter to minimize plosive sounds. Audio sync issues: Check if recording with multiple microphones is in sync. Adjust the track alignment during editing if necessary. Headphone monitoring delay: If there’s a noticeable delay in headphone monitoring, consider using an audio interface or external mixer for real-time tracking. Software crashes: Update your recording and editing software to the latest version. Save your work frequently to prevent data loss in case of crashes. Audio driver issues: If experiencing audio problems, restart your Mac and check for driver updates from the microphone manufacturer. Here is an idea on how to setup Make sure if you are using Shure MV7+ microphones that you download and install the MOTIV-Mix app on your mac
-
How to block websites with screentime
We as parents find ourselves with the requirement of blocking certain websites from our children. If your child is lucky enough to have an iPhone, Apple has made this easy to do for us parents. On your childs cell phone, click Settings and scroll down to Screen Time as shown below Now click on Content & Privacy Restrictions Find Web Content and click on that as shown below You should see a screen similar to the one below. Make sure Limit Adult Websites is checked and below under the Never Allow click Add Website and enter the URL of the website you do not want your child to access. Simply enter the URL and click done and then you can repeat the process as many times as you want. Why this is so great is no matter if they are using WiFi or Cell Service.. this configured iPhone will never be able to reach the configured sites using a Browser Now there is a catch… You kid can download a VPN app which will allow them to still connect to the apps. Search the phone for VPN and see if anything comes up. If it does, delete it! Porn Pornhub.com 8Tube.xxx Redtube.com Kink.com YouJizz.com Xvideos.com YouPorn.com Brazzers.com Gambling BetOnline.ag FreeSpin.com Bovada.lv SlotoCash.im RoyalAceCasino.com PokerStars.com 888casino.com SportsBetting.ag Betway.com eChat Rooms Omegle.com PalTalk.com TalkWithStranger.com ChatRoulette.com chat-Avenue.com Chatango.com Teenchat.com Wireclub.com ChatHour.com Chatzy.com Chatib.us E-chat.co Dating Sites TinderTinder | Dating, Make Friends & Meet New PeopleWith 55 billion matches to date, Tinder® is the world’s most popular dating app, making it the place to meet new people.Match.com Bumble.com MeetMe.com OKCupid.com Plenty of Fish (POF.com) eHarmony.com Zoosk.com Hinge.co Grindr.com AshleyMadison.com
-
Kubernetes
-
Kubernetes
How to install Kubernetes... Debian Make sure docker is installed sudo docker --version sudo systemctl start docker sudo systemctl status docker sudo apt-get install curl -y curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add curl -s https://api.github.com/repos/kubernetes-sigs/kind/releases/latest| grep browser_download_url | grep kind-linux-amd64 | cut -d '"' -f 4 | wget -qi - chmod a+x kind-linux-amd64 sudo docker ps curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl" curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl.sha256" echo "$(cat kubectl.sha256) kubectl" | sha256sum --check sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl kubectl version --client kubectl version --client --output=yaml sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl gnupg curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg # allow unprivileged APT programs to read this keyring echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ / sudo chmod 644 /etc/apt/sources.list.d/kubernetes.list # helps tools such as command-not-found to work correctly sudo apt-get install -y kubectl
-
tcpdump
Basic Commands Identify Version tcpdump --version The general syntax for the tcpdump command is as follows: tcpdump [options] [expression] The command options allow you to control the behavior of the command. The filter expression defines which packets will be captured. Use the -D option to print a list of all available network interfaces that tcpdump can collect packets from: sudo tcpdump -D For each interface, the command prints the interface name, a short description, and an associated index (number) To specify the interface on which you want to capture traffic, invoke the command with the -i option followed by the interface name or the associated index. For example, to capture all packets from all interfaces, you would specify the any interface: sudo tcpdump -i any By default, tcpdump performs reverse DNS resolution on IP addresses and translates port numbers into names. Use the -n option to disable the translation: sudo tcpdump -n Instead of displaying the output on the screen, you can redirect it to a file. Two options and its important you use the correct one depending on how you plan on reading the output. OPTION 1: text file This is great if you just want what would be displayed on the screen to be captured in a text file. NOTE: this will more then likely not be readable by any of the software packages designed to analyze captures like the very popular Wireshark sudo tcpdump -n -i any > file.out You can also watch the data while saving to a file using the tee command: sudo tcpdump -n -l | tee file.out The -l option in the command above tells tcpdump to make the output line buffered. When this option is not used, the output will not be written on the screen when a new line is generated. OPTION 2: binary file This is the way you want to go if you plan on sending to someone or even yourself to analyze the capture in a tool such as Wireshark. sudo tcpdump -w <filename> Example sudo tcpdump -n -i any -w file.pcap or a more intense version of the command tcpdump -s0 -nnnvi 0.0:nnnp -vw /var/tmp/appname_$(date +%d_%b_%H_%M_%S)_$HOSTNAME.pcap host 10.47.78.103 Capture Filters WORKING DOCUMENT... sorry for how incomplete it is
-
scp
SCP Linux Command – How to SSH File Transfer from Remote to Local SCP Syntax scp [OPTIONS] [[user@]src_host:]file1 [[user@]dest_host:]file2 scp - It initializes the command and ensures a secure shell is in place. OPTIONS - They grant different permissions depending on how they have been used. Some of the most common options include: P(Caps) - specifies the port to establish connection with the remote host. p(lowercase) - preserves the times-tamp for ease of modification and access. r - copies the entire directory recursively q - copies files quietly, doesn't display the progress messages. Also known as quiet mode. C - for compression of data during transmission. To understand more about OPTIONS read scp options src_host - where the file is hosted. The source can either be a client or server depending on the origin of the file. dest_host - where the file will be copied to. Examples Copy File from Local Host to Remote Host scp test.txt user@destination:/location Copy all files ending in php to Remote Host scp *.php user@destination:/~/ *.php - copies all the files with the .php extension in the currently specified folder. /~/ - means copy them to the home directory. Copy a file with one name but save it on remote host with a different filename scp -P 8080 test.txt user@destination:/user/home/test2.txt Copy Files from Remote Host to Local Host scp <remote_username>@<IPorHost>:<PathToFile> <LocalFileLocation> Copy File test2.txt from Remote Host to Local Host scp user@remotehost:test2.txt . Copy Files from Remote Host to another Remote Host scp [email protected]:/files/test.txt [email protected]:/files Copy Multiple Files scp file1 file2 ... user@<ip_address_of_user>: Destination So SCP is a very powerful tool when needing to move files around between systems over the network
-
curl
curl is a command-line tool to transfer data to or from a server, using any of the supported protocols (HTTP, FTP, IMAP, POP3, SCP, SFTP, SMTP, TFTP, TELNET, LDAP, or FILE). curl is powered by Libcurl. This tool is preferred for automation since it is designed to work without user interaction. curl can transfer multiple files at once. Syntax: curl [options] [URL...] URL: The most basic use of curl is typing the command followed by the URL. curl https://www.hosangit.com This should display the content of the URL on the terminal. The URL syntax is protocol dependent and multiple URLs can be written as sets like: curl http://site.{one, two, three}.com URLs with numeric sequence series can be written as: curl ftp://ftp.example.com/file[1-20].jpeg Progress Meter: curl displays a progress meter during use to indicate the transfer rate, amount of data transferred, time left, etc. curl -# -O ftp://ftp.example.com/file.zip curl --silent ftp://ftp.example.com/file.zip If you like a progress bar instead of a meter, you can use the -# option as in the example above, or –silent if you want to disable it completely. Options: -o: saves the downloaded file on the local machine with the name provided in the parameters. Syntax: curl -o [file_name] [URL...] Example: curl -o hello.zip ftp://speedtest.tele2.net/1MB.zip
-
What the heck is a P.O.S.
So for a year or two I have been looking for a Point of Sale system that accomodates all my needs which isn't alot but most POS's are focused on the restaurant business or retail and thats pretty much it. We end up having to try and make one or the other work for events. I'll start off with the requirements then work give a review of each POS I've tried so far. Requirements Let's first start with my least liked POS but it didn't start that way... Mobi POS At the beginning this was a great little POS with some custom options but its really focused around a restaurant which I'm not but made it work. A few years back they introduced the cloud version which I loved the idea of.. build everything in the cloud and push your changes down to your Terminals. MOBI is not good at this at all. Originally (and they still have) a peer network where you have one iPad acting as the server and another iPad can be a terminal but that extra terminal is very limited on what it can do. Pricing was okay but still pricey for what you get. I found for the same price you can get into a nicer POS but MOBI was very easy to get up and going quickly if you have on one register. They do offer a 14 day risk free trial at the time of this writing so give them a look, maybe they'll work for what you need. Unfortunately MOBI isn't strong enough with features to do what we need a POS to do so they are now no longer a part of our infrastructure. AirPOS This POS felt like a step up from MOBI but more so in the cloud aspect. Getting multiple terminals up is easy as well as configuring your products but it felt still like the feature set was lacking. For example there is no discount or coupon area to add pre-populated information or an ability to run reports on discounts. When you log in via an assigned PIN there was a huge lag between each press of the number to where you would continue to enter the wrong number because the lag is so bad. Pricing I never got into but they are currently very generous with there trial period of 30days which I was blown away with. Thank You! Support wasn't horrible but needs improvement but that could be because airpos is headquartered in Northern Ireland. I'm sure the time difference has something to do with it. Again, like MOBI if you have a simple setup then airpos may be fine for your needs but when you run into complicated environments like ours then it just won't do. talech My next attempt was talech which was found off a google search for a Point of Sale system that would work on an iPad. I have much frustration with talech for mainly they have promise but I should of known I was in trouble right from the start. Salesman did a nice demo of the system and showed what I could do. My staff and I brought up questions to the salesman which was answered no problem, talech can do that. SOLD! Paid for the product but it took a days to get the login information and to process the purchase. Once I received the information I learned that you don't get all the features as demonstrated without purchasing the upgraded premium package. Also an odd thing but you cant apply discount coupon to one item. It says you can but if you have 5 of the same product and you only want to discount 2 of them you can't, the system applies the discount to all 5 of the same item. Weird. Also trying to edit items on the backend in the browser the system would just spin. Also I can not run the reports on discount/coupons used. It took awhile but I learned that talech, yet more feature reach than the other two, wasn't going to be our Point of Sale system. iConnect With the 7 day free trial of iConnect POS I thought I may of found a winner. It is very feature rich and pretty easy to use. In fact it had the most features of any POS I tested. Also impressed with the support for iOS, Android and Web based. So it sounds great right? Nope, just a dress on a pig. You will get different features based on what operating system you use so since you have three possible ways to connect to iConnect you also get three different environments. For example the Android and Web interface supports drop down discounts but the iPad does not. The iPad will support USB Printer where the Android Tablets do not... just to name a few differences. Something I definitely did not like is if you apply a discount to an item it spreads the discount all over every items (like a percentage off). It looks ugly and not sure who would want that. Finally a feature that I feel is a serious bug. If you process a refund on a sale it doesn't mark it in the system that you refunded an item off that ticket so that customer can go back as many times as they want and get a refund on the same ticket. That was the final straw that broke the iConnect POS back. I can easily see this happening in our environment. I did love the ability to place an order on HOLD and pull it back up. I could see the ladies in the office doing sales during the week enter all these sales in a HOLD pattern and finalize it on the weekend when they customer comes to the gate. ShopKeep Thank goodness for shopkeep. I have tried all these and lost alot of money in the process. The staff is very friendly and helpful. After introduction from Nick which handed me off to a specialist named Tim which showed me what I needed to see. I was up and running in less than an hour. Now no one is perfect and I didn't see the ability to get a free trial of the system to play around. I had to pay $138 for two terminals/month which is the most expensive of all that I tried but it works. iConnect does have more features than shopkeep but Shopkeep just does what I need it to do. Sometimes more isn't always better. Unlike Revel we can shut down the terminals when not in use and I don't get billed the $69 for each terminal a month but if you want access to your reports still and keep all your products entered then you may a small price of $10/month. When your season starts back up you pay the $69/terminal and it downloads what you need. For me its a no brainer and I'm still on my first day with the product but what I learned from using all the other POS systems, this product is really great.
-
SSL mutual authentication
A browser connecting to the secure server will use the SSL protocol to connect and verify the server’s certificate. However, customers can also use Mutual Authentication to have both the client and server use signed certificates to authenticate each other. With Mutual Authentication, both client and server will provide signed certificates for verification. How Mutual Authentication Works Client sends ClientHello message proposing SSL options. Server responds with ServerHello message selecting the SSL options. Server sends Certificate message, which contains the server's certificate. Server requests client's certificate in CertificateRequest message, so that the connection can be mutually authenticated. Server concludes its part of the negotiation with ServerHelloDone message. Client responds with Certificate message, which contains the client's certificate. Client sends session key information (encrypted with server's public key) in ClientKeyExchangemessage. Client sends a CertificateVerify message to let the server know it owns the sent certificate. Client sends ChangeCipherSpec message to activate the negotiated options for all future messages it will send. Client sends Finished message to let the server check the newly activated options. Server sends ChangeCipherSpec message to activate the negotiated options for all future messages it will send. Server sends Finished message to let the client check the newly activated options. How the Client and Server Accomplish Each of the Checks for Client Authentication Digital Signature: The client sends a "Certificate Verify" message that contains a digitally signed copy of the previous handshake message. This message is signed using the client certificate's private key. The server can validate the message digest of the digital signature by using the client's public key (which is found in the client certificate). Once the digital signature is validated, the server knows that the public key belonging to the client matches the private key used to create the signature. Certificate Chain: The server maintains a list of trusted Client Authorities (CAs), and this list determines which certificates the server will accept. The server will use the public key from the CA certificate (which it has in its list of trusted CAs) to validate the CA's digital signature on the certificate being presented. If the message digest has changed or if the public key does not correspond to the CA's private key used to sign the certificate, the verification fails and the handshake terminates. Expiration Date and Validity Period: The server compares the current date to the validity period listed in the certificate. If the expiration date has not passed and the current date is within the period, then this check succeeds. If it is not, then the verification fails and the handshake terminates. Certificate Revocation Status: The server compares the client certificate to the list of revoked certificates on the system. If the client certificate is on the list, the verification fails and the handshake terminates. Additional Information Verify the Client Certificate with auth-root Run the following command to verify the client certificate: openssl verify -purpose sslclient -CAfile auth-root.crt testcert.crt Test Connection with Client Cert Run the following command to test the connection with the client: openssl s_client -servername example.com -connect example.com:443 -key client-cert.key -cert client-cert.crt Below is an example of two-way SSL authentication on the BIG-IP system and how to configure mutual or two-way (mutual) authentication using a Client SSL profile to protect application traffic. One-way authentication Using one-way authentication, clients perform SSL handshakes when initiating a new connection with SSL protected applications. During the SSL handshake, the protected application sends its public SSL certificate to the remote client for validation (referencing the photo on the right the remote client is shown as Server). The remote client (Server) validates the application's public SSL certificate by searching for the signing Certificate Authority (CA) certificate in its trusted CA store. If the remote client (Sever) is unable to validate or find the signing CA for the public SSL certificate, it should not complete the SSL handshake and abandon the new connection attempt. Two-way authentication Two-way authentication is a less popular method for protecting application traffic as it requires an additional layer of security. When using two-way authentication, clients perform a slightly modified SSL handshake when initiating a new connection with SSL-protected applications. During the modified SSL handshake, the protected application sends its public SSL certificate to the remote client for validation and requests that the remote client sends its Client SSL certificate for validation as well. Both the remote client and protected application validate the SSL certificates they receive by searching for the signing CA certificates in their respective trusted CA stores. If the remote client or the protected application is unable to validate the received SSL certificate, they should not complete the SSL handshake and abandon the new connection attempt. REFERENCE: K12140946 K15137
-
Working with Offshore
Many companies regardless if its I.T. related, medical or anything really, businesses have discovered they can save a ton of money but utilizing resources over sea's where the cost of living is much cheaper which in turn means talent is also less expensive. Obviously some downfalls come with using overseas no face to face via in office conversations no participation in out of office gatherings biggest issue many times is language barrier as recorded below
-
Wordpress Starter Help
Some of us dabble a bit in Wordpress but we had to start somewhere which means we got help from somewhere. This blog entry is in hopes to give some material to help a newbie in the world of Wordpress. There are a few different great tools to use to build/customize your site and one of them I like to use is called Elementor. Here is a great starter guide/video that is a bit older but he does a great job at walking you through building a wordpress site. This video focuses mainly on how to use Elementor to customize the site for you This video is more about creating everything for an eCommerce site using Woo Commerce (the free plugin) installed on the free Wordpress.com And you can Google search Elementor Wordpress Theme and come across lots and lots of video tutorials. No other Web platform has as many tutorials available. Going to add that you should leverage helpful free tools to evaluate your site to make it more SEO compliant so you show on searches. You should make sure you have meta content on everything, especially your photos. Make sure your website is using Google Developer Tools (formerly known as webmaster) Also check out this tool that goes through and check out your site for issue/errors. Meta Data Google Developer Tools WAVE
-
Create Visio Diagrams without Visio
Being a mac user and sometimes linux user (never Windows), I miss Visio since that's how I created my diagrams. I tried many different software replacements to just be let down. I stumbled on lucid.app which my initial reaction was, no way a web based anything could come close to Visio but man was I wrong. Yes you can import stencils Yes you can import Visio diagrams, OmniGraffle, Gliffy, Draw.io Yes you can export Visio Is it free? No but its very affordable or I wouldn't be using it. I haven't done the compare in cost but I'm fairly confident it's less expensive than the subscription to Visio and no obligation. As you can see I use the Individual plan which runs $95/year but includes more than enough to be a competitor with Visio and other similar tools.
-
git issues on Mac OS X after upgrade
My MacBook Pro got updated to MacOS Monterey (12.2.1) and since then, I can't use git at all. When I run git I get this USDETMNBSJEMD6R:~ iSupport$ git xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun So in reading about others having this issue they just run USDETMNBSJEMD6R:~ iSupport$ xcode-select --install xcode-select: note: install requested for command line developer tools This popped open a window showing the install (which isn't a fast install at all) Eventually it will give you a pop up like the one shown below that states the software is installed. For my own sanity I just check version to see if the command git will work now and it does USDETMNBSJEMD6R:~ iSupport$ git --version git version 2.30.1 (Apple Git-130)
-
Netshot Compliance Tool
Many of us have to supply a report showing our devices are compliant based on auditors requirements. What tool out there does compliancy checks? A great free opensource compliancy tool is called netshot. The open source compliance network software. Freely available : www.netfishers.onl/netshot
-
Michigan Marriage License (Oakland County)
There are a total of three (3) copies of your marriage license. You must give the entire packet to the person who performs your ceremony on the day of the wedding. They are responsible for filling out the licenses and mailing two (2) copies back in the envelope provided. The third copy will be presented to you as a keepsake, but it is not good for any legal purpose. If you need a legal copy of your marriage license, known as a marriage certificate, you may purchase these separately approximately 7-10 days after your wedding. This type of copy is necessary if the bride intends on changing her last name. You may come to the office to purchase these copies in person or order online at www.oakgov.com and they will be mailed to you. The cost is $15 for the first copy and $5 for any additional. When you receive you marriage licenses you will get something like this with it
-
Zack Graduates Tech School
Poor kid has been stuck in a holding pattern at shepherd air force base awaiting his orders for South Korea which he just got this morning at 1am. Now he needs to make arrangements with this recruiter here back home in Michigan so he can come home before heading out. Something called RAP (Recruiter Asssistance Program i think) where Zack doesn't use LEAVE to come home. He comes home and assists the local recruiters which will allow him to be home before heading off. Zack has to pay for his plane ticket home but after he's here for 14 days then he is required to fly out of Detroit to Seattle then to South Korea which is obviously on Uncle Sam (meaning Zack doesn't need to pay for that 15hr flight). SCHEDULE Thursday Dec 15th he flies to Detroit 6 days Leave 8 days RAP Monday Dec 26th he flies from Detroit to Seattle Tuesday Dec 27th at 1:50am (ish) he flies from Seattle to South Korea where he will spend the next 12months then he will go to Italy. Here is a short clip of Zack graduating his 8 week training for his Air Force career as an ammo specialist. zackTechSchoolgraduation.mp4