Now Playing Tracks

400% Productivity Increase using SCRUM

 In this interesting piece Jeff Sutherland, inventor of scrum, keys into the the heart of hyper-productivity stating that it is achieved when a development team starts to use the daily standups to ensure everyone is on the same page to complete the highest value items.

It goes without saying that the team needs to act as a team (Five Dysfunctions of a Team) and then needs to limit work-in-progress to ensure that the stories are getting completed.

FreeBSD dump issue and solution

I ran into an issue trying to dump my FreeBSD 4.10 system to a FAT32 flashdrive.  In the end the flashdrive had little to do with it and more with the commands I needed to use.

Dump was performed by:

% dump -0af - /var | gzip > /mnt/flashdrive/var_mmddyy.dump.gz

Invoking restore resulted in block size issue

I wanted to verify that the backup was good.

% restore -tf /mnt/flashdrive/var_mmddyy.dump.gz

and was frightenly returned with “Tape block size (1536) is not a multiple of dump block size (1024)”

This was because I needed to send it through gunzip first.

% gunzip < var_mmddyy.dump.gz | restore -tf -

And my files were succesfully printed out.

If you accidently forget the “<” symbol to gunzip you will be alarmed to see the OS report “Tape is not a dump tape”


gcore - dumping memory

So I recently ran into a situation where I needed to figure out what a process was doing on my FreeBSD box when it spun out of control.  My plan of attack was to force a core dump, but I wanted to let the process continue to run.

That’s when I came across the unix gcore command:

http://www.freebsd.org/cgi/man.cgi?query=gcore&sektion=1

This handy guy did the trick.  Don’t forget to use the “-s” parameter to temporarily suspended the process to create a consistent stacktrace during the dump.

After that I was off to the races with gdb.  At first gdb wasn’t showing anything in the backtrace, but I was quick to recall that perhaps the issue was in another thread and pulled up the list of threads using info threads.  Selecting the correct thread (thread <number>) revealed what the culript I was after was up to.  Gotcha!

To Tumblr, Love Pixel Union