These are my random links from the excellent 2 day conference Operability.IO. These are all links mentioned in different talks.
Worse is Better
Much to the shock of my collages I had not read about this before. Now I have!
OSV / Capstan
I’ve been using hyper.sh which is very similar except it uses Docker images inside the hypervisor. OSV looks very interesting especially the REST API for inspecting a running image.
MirageOS
This is a unikernel for compiling OCaml to Xen hypervisor
As you can see the Authorisation header is hidden, but fear not if look in ~/.cf/config.json under “AccessToken” thats all you need ("jq .AccessToken ~/.cf/config.json"). Combine this with wscat and you are good to go:
#!/bin/sh -e
# Sleep so all services have started before we change settings
sleep 5
# Set Intel Audio to power save
echo '1' > '/sys/module/snd_hda_intel/parameters/power_save';
# Temp disable ethernet port
modprobe -r r8169
# Wireless Power Saving for interface wlan0
iw dev wlan0 set power_save on
# VM writeback timeout
echo '1500' > '/proc/sys/vm/dirty_writeback_centisecs';
# Temp disable bluetooth
modprobe -r btusb
# Adjust backlight to start much lower
echo 800 > '/sys/class/backlight/intel_backlight/brightness'
# - NMI Watchdog (turned off)
echo 0 > '/proc/sys/kernel/nmi_watchdog';
# - SATA Active Link Power management
for i in `find /sys/class/scsi_host/*/link_power_management_policy`; do echo 'min_power' > $i; done;
# - USB Autosuspend (after 2 secs of inactivity)
for i in `find /sys/bus/usb/devices/*/power/control`; do echo auto > $i; done;
for i in `find /sys/bus/usb/devices/*/power/autosuspend`; do echo 2 > $i; done;
# - Device Power Management
echo 'auto' | tee /sys/bus/i2c/devices/*/power/control > /dev/null;
echo 'auto' | tee /sys/bus/pci/devices/*/power/control > /dev/null;
# - CPU Scaling (power saving scaling governor for all CPU's
for i in `find /sys/devices/system/cpu/*/cpufreq/scaling_governor`; do echo 'powersave' > $i; done;
exit 0
This is currently possible to solve but only in a pretty hackie way, but let me first explain a few things:
When you write a lambda, the compiler inserts a dynamic invoke instruction pointing to the LambdaMetafactory and a private static synthetic method with the body of the lambda. The synthetic method and the method handle in the constant pool both contain the generic type (if the lambda uses the type or is explicit as in your examples).
Assuming you used Chrome and a modern Linux file system…
$ attr -g xdg.origin.url Downloads/google-chrome-stable_current_x86_64.rpm
Attribute "xdg.origin.url" had a 74 byte value for /home/dan/Downloads/google-chrome-stable_current_x86_64.rpm:
https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
setjava() {
if [ "$1" = "-q" ]; then
local quiet=true
shift
fi
local jdk=~/Applications/Java/jdk1.$1
if [ ! -d "${jdk}" ]; then
echo Jdk not found: ${jdk}
return 1
fi
export JAVA_HOME=${jdk}
export PATH=${JAVA_HOME}/bin:${PATH}
if [ -z "${quiet}" ]; then
java -version
fi
}
export -f setjava
I have symlinks for all major versions of Java so that in IntelliJ and the command line I can upgrade minor Java versions just by changing the symlink: