Set Static IP with Pi-hole DNS on Raspberry Pi

Set Static IP with Pi-hole DNS on Raspberry Pi (Bookworm) These instructions guide you through setting a static IP address (192.168.1.2) on a Raspberry Pi running Bookworm OS using nmtui, with the Pi configured to use itself as the DNS server for Pi-hole. Prerequisites Raspberry Pi OS Bookworm is installed. You have terminal access (via … Read more

Raspberry Pi OS with Pi-Hole Installation





 

Raspberry Pi with Pi-Hole Setup Instructions

I recently upgraded my Pi-Hole OS from Buster (v10) to Bookworm (v12). Even though I did this a few years back, it is hard to remember the steps needed to accomplish the goal. Especially for those that are more versed in Windows OS than Linux type OS. This time I decided to document the procedure.

1. SD Card Setup

Updates the system and configures basic settings on the SD card.

sudo apt update && sudo apt full-upgrade -y
sudo raspi-config  # Timezone, SSH, expand filesystem
sudo reboot

Read more

Windows 10 and lein self-install fails on Powershell – Solved

I am starting to learn Clojure and wanted to set up Leiningen on my Windows 10 professional. Here is how I solved the Windows Security problem that was preventing me from downloading the github zip file needed. Here is hoping that someone finds this solution helpful. Using PowerShell running as Administrator, I was having trouble getting … Read more

Outlook Redemption (Redemption.dll) and Background Threading do not mix.

Outlook Redemption is a very nice library which allows access to many Outlook functions many of those not exposed via the Outlook object model. We are currently using Redemption in our application to add outlook appointments with reminders, pop email messages with pre-populated information, etc.

We wrapped the Redemption.dll into our own Singleton class and called it OutlookRedemption as you will see in the following code examples.

We have had a couple of situations where emailing from our application stops working or works intermittently and in both of those occurrences, the culprit was using the API in a back ground thread.

Read more

ClickOnce Deployment Architecture

While continuing my research and learning of ClickOnce deployment, I came across a very interesting page that explains Click Once Deployment Architecture. The article describes how a ClickOnce installation is physically installed on a client computer.

Application Publication

Each application publication has:

  • A deployment manifest – A deployment manifest is an XML file that describes a ClickOnce deployment, including the identification of the current ClickOnce application version to deploy.
  • An application manifest – An application manifest is an XML file that describes an application that is deployed using ClickOnce.
  • All of the application files for that version.
The client computer must have the .NET framework 2.0 or later installed in order to do a ClickOnce deployment to that computer. The .NET framework can be deployed in a variety of ways including the ClickOnce Bootstrapper.

Read more

ClickOnce Deployment – Deploying multiple versions of the same application

According to Wikipedia, ClickOnce is a Microsoft technology that enables the user base to install and run a Windows Application by clicking a link in a web page. ClickOnce is a component of Microsoft .NET Framework 2.0 and later and it supports deploying applications made with Windows Forms or Windows Presentation Foundation.

ClickOnce attempts to bring the ease of deployment similar to web applications to the Windows user base. ClickOnce aims to solve three common problems with conventional methods of deploying an application:

  1. The sometimes difficulty of updating a deployed application.
  2. The impact of an application on a user’s computer system.
  3. The need for administrator permission in order to install or update the application.

WPF coding mutually exclusive Check Boxes with Data Binding

Last week I was coding a View that required for me to show two ChekBox controls which were mutually exclusive in the same way that two or more RadioButton controls that belong to the same group would interact.

My problem was that one Boolean property which came from a bit column in the database needed to drive which CheckBox would be checked: “Yes” or “No”.

In this example I attempt to show how to code two mutually exclusive checkboxes while binding to the Boolean property described above:

image

The Name of the Property in the Code Behind file that we are going to bind to is AddInsurance.

Here is the XAML code:

Read more