Came across an interesting video on reddit about some newer linux tracing tools. I think I’ve mentioned perf before, but this also covers ftrace (which apparently has been around for years) and the newer bpf.
I was reading some stuff on game design and stumbled upon a stack overflow of cache friendly code, which then lead to this great video on C++ and machine architecture. Lots of very interesting stuff about architecture, optimizations (both compiler and cpu), cache and other stuff. Well worth a look.
The web console wasn’t working for me today. I downloaded the vmrc bundle, but that didn’t seem to install either. After a bit of messing around I brute forced it
- Looking at /tmp/vmware-root/vmware-vmis-10550.log showed the install was failing trying to load /usr/lib/vmware-installer/1.6/sopython/libpy25.so . /usr/lib/vmware-installer didn’t exist.
- Ran the script to find the commands to get the binary data.
bash -x VMware-Remote-Console-9.0.0-4288332.x86_64.bundle
- Decompressed the binary data with the commands from above
dd if=VMware-Remote-Console-9.0.0-4288332.x86_64.bundle ibs=15156 obs=1024 skip=1 of=1.gz gzip -d 1.gz tar xvf 1
- Move the resulting directory to the right place
mkdir -p /usr/lib/vmware-installer/1.6 mv ~rjb/tmp/install/vmware-installer /usr/lib/vmware-installer/1.6
- Run installer
bash ~rjb/tmp/VMware-Remote-Console-9.0.0-4288332.x86_64.bundle --console
I managed to end up with a few videos that had incorrect audio pitch. At first I thought the video speed was incorrect, but the time and play rate of the video seemed fine. After a little searching I came across a solution.
- Split source into separate video and audio files (various distros use ffmpeg or avconv)
ffmpeg -i -vcodec copy -an 1.mp4 ffmpeg -i 1.wav
- Change audio pitch (install rubberband-cli, could also use audacity or similar). Experiment with the pitch shift (-p option), negative shifts down, positive up.
rubberband -p -2 1.wav 1a.wav
- Recombine into a single file
ffmpeg -i 1.mp4 -i 1a.wav -vcodec copy -strict experimental out.m4v
for i in *.m4v do avconv -i "$i" -vcodec copy -an 1.mp4 avconv -i "$i" 1.wav rubberband -p -2 1.wav 1a.wav avconv -i 1.mp4 -i 1a.wav -vcodec copy -strict experimental out/"$i" rm -f 1.mp4 1.wav 1a.wav done
So, we’re moving to office 365 soon. Due to various political issues, they’re going to have imap disabled, but ews will be on, so I should be able to use davmail. The following worked with my test account
- davmail settings
URL = https://outlook.office365.com/EWS/Exchange.asmx Protocol = EWS
- mutt settings
set imap_user=test-incloud@<domain> set folder=imap://test-incloud@<domain>@localhost:1143 set spoolfile=imap://localhost:1143/INBOX set record=imap://localhost:1143/Sent set postponed=imaps://localhost:1143/Drafts set smtp_url=smtp://test-incloud@<domain>@localhost:1025
Great talk by Matthew Garrett on the insecurity of ipmi. A number of security issues including
* Upgrade your BMC firmwares!
* Ensure cipher 0 is disabled on all BMCs (only requires valid username, not password!)
* Filter all incoming ipmi on the network (if BMC nic is unplugged ipmi will dhcp on the main interface)
I’ve been meaning to write a little on strace for a while. I use it fairly often, but as with everything it seems that there’s always a lot more to learn.
I was reading about a new perl module, Devel::Trace::Syscall which can be used as a perl debugger module to print stack traces when certain syscalls occur (
perl -d:Trace::Syscall=$ARGS $SCRIPT).
There are a few more nice strace blogs posts by Julia Evans. One of the ideas I’d not thought of before is using the
-c option (count call time) to assist with troubleshooting performance (which is mentioned here among other places.