This is inspired by A half-hour to learn Rust and Zig in 30 minutes.
Your first Go program as a classical "Hello World" is pretty simple:
First we create a workspace for our project:
This is inspired by A half-hour to learn Rust and Zig in 30 minutes.
Your first Go program as a classical "Hello World" is pretty simple:
First we create a workspace for our project:
Also see the original Pieter Noordhuis's guide
You need:
carlosedp@ubuntu:~$ lscpu | |
Architecture: x86_64 | |
CPU op-mode(s): 32-bit, 64-bit | |
Byte Order: Little Endian | |
CPU(s): 2 | |
On-line CPU(s) list: 0,1 | |
Thread(s) per core: 1 | |
Core(s) per socket: 2 | |
Socket(s): 1 | |
NUMA node(s): 1 |
This is a common-jargon walkthrough of an interesting Diablo 2 exploit. It provides the necessary background information (network protocol and game mechanics) to gain some understanding of the primitives from which it's constructed. Since the exploit is against a black-box network service with no available code, exact details and subtleties remain a mystery. :)
Diablo 2 items can have a list of properties with various effects. The most common items (normal or "white" ones) have very few possible effects; however, all items can have sockets. Rune and gem-type items can be inserted into sockets. Some sequences of runes are special - inserting them into a white item makes a runeword item with predictable special properties.
Here's an example runeword "Peace" created by inserting Shael, Thul, and Amn runes into a 3-socket Light Plate:
#!/bin/sh | |
# qemu-img create -f qcow2 mac_hdd.img 64G | |
# echo 1 > /sys/module/kvm/parameters/ignore_msrs | |
# | |
# Type the following after boot, | |
# -v "KernelBooter_kexts"="Yes" "CsrActiveConfig"="103" | |
# | |
# printf 'DE:AD:BE:EF:%02X:%02X\n' $((RANDOM%256)) $((RANDOM%256)) | |
# |
So, with credit to the Factorio wiki and cbednarski's helpful gist, I managed to eventually setup a Factorio headless server. Although, I thought the process could be nailed down/simplified to be a bit more 'tutorialised' and also to document how I got it all working for my future records.
The specific distro/version I'm using for this guide being Ubuntu Server 16.04.1 LTS
. Although, that shouldn't matter, as long as your distro supports systemd
(just for this guide, not a Factorio headless requirement, although most distros use it as standard now).
The version of Factorio I shall be using is 0.14.20
, although should work for any version of Factorio 0.14.12
and higher.
Just a note to newcomers: If there are any issues with the installation steps, people in the comments are doing a good job
# Drop this file into /etc/X11/xorg.conf.d | |
# This configures the middle and right-click areas at the *top* of the touchpad | |
# only. The main and bottom areas are left-click. | |
# The key setting is that AreaTopEdge is set to prevent you from moving the | |
# mouse cursor by accident while clicking the trackpoint buttons. | |
# Inspired by http://who-t.blogspot.ca/2013/12/lenovo-t440-touchpad-button.html | |
Section "InputClass" |
Each of these commands will run an ad hoc http static server in your current (or specified) directory, available at http://localhost:8000. Use this power wisely.
$ python -m SimpleHTTPServer 8000
sudo apt-get update | |
sudo apt-get install -y git-core build-essential libssl-dev libboost-all-dev libdb5.1-dev libdb5.1++-dev libgtk2.0-dev | |
git clone https://github.com/bitcoin/bitcoin.git | |
cd bitcoin/src | |
make -f makefile.unix clean; make -f makefile.unix USE_UPNP= bitcoind | |
javascript:(function() { | |
var bookmarklet = { | |
init: function() { | |
this.parse(); | |
}, | |
parse: function() { | |
page = ""; | |
/* you must be viewing songs ie. http://www.rdio.com/people/nloko/collection/songs/ | |
when exporting a collection and this will only export the songs loaded in view, |