Find the IP address of a machine I just booted

I am booting VMs via qemu (no libvirt) and sometimes they don't tell me what IP address they got when booted.  To figure it out, considering I know the IP address, I can query the network via the Address Resolution Protocol (ARP)

I know they get address in sequence, so:


ayoung@sut11sys-r112:~/devel/ampvirt$ arp -n | grep -i "52:54:00:70:0c:"
10.76.112.154            ether   52:54:00:70:0c:02   C                     virbr0
10.76.112.153            ether   52:54:00:70:0c:04   C                     virbr0
10.76.112.155            ether   52:54:00:70:0c:03   C                     virbr0

Teaching Python using a Caesar Cipher


A Caesar cipher is a letter for letter exchange from a clear text to a encrypted text by shifting a set distance in the alphabet. Thus, if your set distance is 2, the letter A becomes C, the letter X becomes Z. To encrypt the last letters of the alphabet, you wrap around to the beginning, so Y becomes A and Z becomes B.

Caesar is commonly respelled to Ceasar, which I have done for this article. Use the spelling of your choice.

This is a fairly easy algorithm to code, and makes for a decent early class in python. Here are the steps I would go through to teach someone:

Continue reading →

Debugging Rust in Vim

On Fedora:

yum install termdebug

in ~/.vimrc

let g:termdebug_config = {}
let g:termdebug_config['command'] = 'rust-gdb'

packadd! termdebug
                   

Inside vim:

Termdebug target/debug<executable>

Use Ctrl-W DownArrow to switch between windows

Use :Break to set a breakpoint in the code window

Use Ctrl-W UpArrow to go to the gdb window

use run to run the program and cont to continue after hitting a break point.

Network setup for a custom Qemu Virtual Machine

After building a custom Qemu, there are a couple ways to run a VM to get to it. The older approach to VM management is to create a block device, run the VM with a boot device, do a full install and log in to the serial console. However, if you run the Qemu/KVM machine from the command lilne, hitting control C will stop your VM, and this is annoying. I have found it worth while to set up networking and then to SSH in to the machine.

My notes here suck. I am going to try and document what I have here working, and, over time, reverse engineer how I got here.

Edit: here are the steps

Continue reading →