VirtualTam's bookmarks

    • Check project import paths and compare with architechure rules defined in a configuration file
    • Useful for hexagonal / onion / DDD / MVC and other architectural patterns
  1. 1git rev-list --objects --all \
    2| git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' \
    3| sed -n 's/^blob //p' \
    4| sort --numeric-sort --key=2 --reverse \
    5| head -n 150 \
    6| cut -c 1-12,41- \
    7| $(command -v gnumfmt || echo numfmt) --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest
    
  2. Here are the steps I used to migrate a CentOS 7 VM from (presumably?) an ESXi server, to a local VirtualBox environment.

    The LVM volumes were not detected at boot, and after the boot timeout, the OS fell back to the Dracut emergency shell.

    • get a CentOS minimal installation CD
    • check the VM's resources and peripherals:
      • ensure there are no floppy drives (!)
      • setup CPU and RAM resources
      • check virtual drives
      • add an SCSI optical drive if needed
    • optional: convert the virtual drive images from VMDK to VDI
    • mount the CentOS installation disc
    • boot on the installation disc:
      • select "Troubleshooting", then "Rescue"
      • let the rescue utility detect filesystems and mountpoints
    • $ chroot to the detected environment
    • backup files:
      • /etc/fstab
      • /boot/grub/grub.cfg
    • under /boot, backup the initrd and initramfs for the current configuration (these will be overwritten)
    • compare the current /etc/fstab with the output of $ lsblk and $ blkid
    • if needed, manually edit /etc/fstab to use the appropriate block device UUIDs, identifiers and mountpoints
    • regenerate GRUB configuration:
      • $ grub2-mkconfig -o /boot/grub2/grub.cfg
    • if needed, reinstall GRUB:
      • $ grub-install /dev/sda
    • rebuild initrd:
      • $ mkinitrd --force /boot/<initrd_image> <kernel_version>
    • rebuild initramfs:
      • $ dracut --force <kernel_version>
    • exit the chroot
    • unmount the installation disc
    • reboot
    • optional but highly recommended: cross your fingers
    • ...
    • profit!
  3. And more generally, "emacs as a <language> IDE":

    • code completion
    • snippet / templates
    • project view
    • syntax checking
    • test harness utilities

    See also: