2014
11.25

just felt like posting a screenshot of my term while in vim.

enjoy

click to enlarge
2014-11-25-164011_1920x1080_scrot

EDIT 20141126 as per Alex : here are the plugins i use. here is a copy of my vimrc.

2014
10.29

so after many years of playing me some sweet nethack, i decided to put together an auto-create script that will build a working nethack server on ubuntu (testing centos && gentoo) using dgamelaunch and nh343-nao.

parts of this script were taken from all over the internet. when this script is run it will have it fully setup in roughly 5 minutes if all goes well.

script is located here

2014
09.15

So i had to grep multiple patterns into their own files from one stream and had forgotten about this and was trying to do this with awk & sed (which got very ugly really fast). instead, we just need tee, grep, and bash extensions.

example:

tee <srv1_20140912.log >(grep "access" >20140912_access.txt) >(grep "fail" >20140912_fail.txt)

lets clean that up:

tee <srv1_20140912.log \
>(grep "access" >20140912_access.txt) \
>(grep "fail" >20140912_fail.txt)

lets clean that up a little more with generic file names:

tee <original_file.log \
>(grep "pattern 1" >file_one.txt) \
>(grep "pattern 2" >file_two.txt)

The nice part about this is that you can add as many patterns as you need to output to the files that are needed.

2014
08.24

so for the few of you that have seen my vim setup, here is a list of some of the plugins i use and a link to my vimrc file for all to use.

Plugins:
Vundle: or vim bundle which is a plugin manager
Rainbow parenthesis: Highlight matching parens in a rainbow of colors
Syntastic: a syntax checking plugin for Vim
Nerdtree: allows you to explore your filesystem and to open files and directories
Bash support: Write and run BASH-scripts using menus and hotkeys
You complete me: A code-completion engine for Vim
go tags: ctags-compatible tag generator for Go
Tagbar: displays tags in a window, ordered by class etc
Git gutter: shows a git diff in the ‘gutter’ (sign column)
Fugitive: a Git wrapper so awesome, it should be illegal
Easybuffer: is a simple plugin to quickly switch between buffers using corresponding keys or buffer numbers displayed in easybuffer quick switch window

Link to my vimrc.

I use the Solarized Dark color scheme.

And of course, the obligatory screen shot:
2014-08-24-230525_1280x800_scrot
Click to enlarge

I will update this accordingly when either i feel like it or remember.

2014
06.09

So a couple of minutes ago i had a massive lock up on my laptop and realized i could not get the Magic SysRq (see here) combination to work.

lets first make sure that your kernel is configured for this :
cat /proc/sys/kernel/sysrq
should equal “1”

after some testing, here are the simple steps to get it to work on a laptop that maps SysRq to a function key:
step one : press and hold the alt key
step two : press and hold the Function key (Fn)
step three : press and hold SysRq function key
step four : release Function (Fn) key
step five : press magic sequence as needed.

done.

2014
05.08

multiboot script

so after a couple of posts about creating a multiboot flash drive, i created a script that should automate it a bit which is located here.

as of time of writing:
it formats the disk
installs grub2
boots debian netinstall 32 & 64
boots fedora 32 & 64
boots gentoo 32 & 64
boots kali 64
boots netbsd 32 & 64 (broken though)
boots openbsd 32 & 64
boots tails 32
ubuntu 12.04.4 lts 32 & 64 (broken)
ubuntu 13.10 desktop 32 & 64

enjoy

2014
03.11

So after writing the previous article about booting multiple distros from one flash drive, i realized that i needed to do some openbsd installs with zero network access.

at time of writing i was installing openbsd54

Here are the steps i took to add openbsd install media on my multiboot flash drive

first we need to grab a copy of all the install files and packages via wget (dont forget to change the mirror to something closer):
mkdir -p tmp/amd64 ; cd tmp/amd64
wget -nd -r ftp://mirrors.nycbug.org/pub/OpenBSD/5.4/amd64/

once that is complete, lets mount your multiboot usb disk (assuming usb is /dev/sdb1):
sudo mount /dev/sdb1 /mnt

Unlike the other iso’s that we placed in /mnt/iso, we are going to create a “5.4” folder in the root of the usb disk:
sudo mkdir /mnt/5.4/

now lets move the folder of files we downloaded before to the multiboot disk :
sudo mv /path/to/tmp/amd64 /mnt/5.4/

now lets edit the grub.conf on the multiboot disk:
sudo vi /mnt/boot/grub/grub.conf

and lets add :
menuentry "OpenBSD 5.4 64bit" {
insmod ext2
set root=(hd0,msdos1)
kopenbsd /5.4/amd64/bsd.rd
}

now lets save, unmount, and good to go.

all the openbsd install questions are straight forward. packages are on the multiboot disk in “5.4/amd64”.

this can also be done for i386.

2014
02.26

this article is gentoo centric but can be done with most other distro’s pretty easily.

i did this with a 4gb flash disk, but size is not an issue depending on what you plan on putting on there.

First things first, lets make sure you have all the needed tools:

emerge sys-fs/dosfstools
which can be grabbed from here as source or just check your package manager for dosfstools

once we have that, lets partition and format the flash drive:

just wipe the disk and create a new partition (this was done using fdisk):

Welcome to fdisk (util-linux 2.24.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p
Disk /dev/sdb: 14.6 GiB, 15610576896 bytes, 30489408 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc3072e18

Device    Boot Start       End   Blocks  Id System
/dev/sdb1 *     8064  30489407 15240672  af HFS / HFS+

Command (m for help): d

Selected partition 1
Partition 1 has been deleted.

Command (m for help): p
Disk /dev/sdb: 14.6 GiB, 15610576896 bytes, 30489408 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc3072e18

Command (m for help): n

Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-30489407, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-30489407, default 30489407): 

Created a new partition 1 of type 'Linux' and of size 14.6 GiB.

Command (m for help): p
Disk /dev/sdb: 14.6 GiB, 15610576896 bytes, 30489408 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc3072e18

Device    Boot Start       End   Blocks  Id System
/dev/sdb1       2048  30489407 15243680  83 Linux

now lets change the type:

Command (m for help): t

Selected partition 1
Hex code (type L to list all codes): L

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1 80  Old Minix      
Hex code (type L to list all codes): c
If you have created or modified any DOS 6.x partitions, please see the fdisk documentation for additional information.
Changed type of partition 'Linux' to 'W95 FAT32 (LBA)'.

Command (m for help): p
Disk /dev/sdb: 14.6 GiB, 15610576896 bytes, 30489408 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc3072e18

Device    Boot Start       End   Blocks  Id System
/dev/sdb1       2048  30489407 15243680   c W95 FAT32 (LBA)

lets make it bootable:

Command (m for help): p
Disk /dev/sdb: 14.6 GiB, 15610576896 bytes, 30489408 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc3072e18

Device    Boot Start       End   Blocks  Id System
/dev/sdb1       2048  30489407 15243680   c W95 FAT32 (LBA)

Command (m for help): a

Selected partition 1
The bootable flag on partition 1 is enabled now.

now save and exit:

Command (m for help): w

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

after you are done with that, lets format the disk:
% sudo mkfs.vfat /dev/sdb1

and now, lets mount the drive and install grub2 on it:

% sudo mount /dev/sdb1 /usb
% sudo grub2-install --no-floppy --root-directory=/usb /dev/sdb
Installing for i386-pc platform.
Installation finished. No error reported.

now you may notice that on the flash disk there is a folder named "boot", we are also going to create a folder named "iso" where we are going to actually keep the iso images as shown in the grub.cfg below:
% mkdir /usb/iso

now that the hard part is done, we need to add a grub.cfg file & start placing iso's on this disk.
at the time of writing, these are the iso's i had on my boot disk:
Debian netinst 7.4.0 amd64
Gentoo minimal 20140220 amd64
Gentoo minimal 20140211 i386
Kali Linux 1.0.6 amd64
Ubuntu 13.10 amd64

vi /usb/boot/grub/grub.cfg

contents of my grub.cfg (change to suit your needs):

set timeout=30
set default=0
set menu_color_normal=white/black
set menu_color_highlight=white/green

# boot isos
menuentry "Debian netinst 7.4.0 64bit" {
  set isofile="/iso/debian-7.4.0-amd64-netinst.iso"
  set bootoptions="vga=normal --"
  loopback loop $isofile
  linux (loop)/install.amd/vmlinuz $bootoptions
  initrd (loop)/install.amd/initrd.gz
}

menuentry "Gentoo minimal 20140220 64bit" {
  set isofile="/iso/install-amd64-minimal-20140220.iso"
  set bootoptions="root=/dev/ram0 init=/linuxrc nokeymap cdroot cdboot looptype=squashfs loop=/image.squashfs initrd=gentoo.igz usbcore.autosuspend=1 console=tty0 rootdelay=10 isoboot=$isofile"
  loopback loop $isofile
  linux (loop)/isolinux/gentoo $bootoptions
  initrd (loop)/isolinux/gentoo.igz
}

menuentry "Gentoo minimal 20140211 32bit" {
  set isofile="/iso/install-x86-minimal-20140211.iso"
  set bootoptions="root=/dev/ram0 init=/linuxrc nokeymap cdroot cdboot looptype=squashfs loop=/image.squashfs initrd=gentoo.igz usbcore.autosuspend=1 console=tty0 rootdelay=10 isoboot=$isofile"
  loopback loop $isofile
  linux (loop)/isolinux/gentoo $bootoptions
  initrd (loop)/isolinux/gentoo.igz
}

menuentry "Kali Linux 1.0.6 64bit" {
  set isofile="/iso/kali-1.0.6_64.iso"
  bootoptions="findiso=$isofile boot=live noconfig=sudo username=root hostname=kali quiet splash"
  search --set -f $isofile
  loopback loop $isofile
  linux (loop)/live/vmlinuz $bootoptions
  initrd (loop)/live/initrd.img
}

menuentry "Ubuntu 13.10 64bit" {
  set gfxpayload=keep
  set isofile="/iso/ubuntu-13.10-desktop-amd64.iso"
  set bootoptions="-- quiet"
  loopback loop $isofile
  linux (loop)/linux $bootoptions
  initrd (loop)/initrd.gz
}
2014
01.09

after having to work with apache bench and gnuplot to put my numbers together and some furious searching, i decided to put together a script that eases ab & gnuplot a bit.

that script is located here.

it will give you graphs like this :
Click to enlarge
response_test.20140109_165304

good stuffs.