X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/bed766aa16e9a9cbf64d63e89dec7d8902bb688c..167f87237cabb69a2cd5f774633c2a75a7334021:/blog/index.rss diff --git a/blog/index.rss b/blog/index.rss index 2fe876a6b6..809980a5c6 100644 --- a/blog/index.rss +++ b/blog/index.rss @@ -6,6 +6,60 @@ http://people.skolelinux.org/pere/blog/ + + Learn to program with Minetest on Debian + http://people.skolelinux.org/pere/blog/Learn_to_program_with_Minetest_on_Debian.html + http://people.skolelinux.org/pere/blog/Learn_to_program_with_Minetest_on_Debian.html + Sat, 15 Dec 2018 15:30:00 +0100 + <p>A fun way to learn how to program +<a href="https://www.python.org/">Python</a> is to follow the +instructions in the book +"<a href="https://nostarch.com/programwithminecraft">Learn to program +with Minecraft</a>", which introduces programming in Python to people +who like to play with Minecraft. The book uses a Python library to +talk to a TCP/IP socket with an API accepting build instructions and +providing information about the current players in a Minecraft world. +The TCP/IP API was first created for the Minecraft implementation for +Raspberry Pi, and has since been ported to some server versions of +Minecraft. The book contain recipes for those using Windows, MacOSX +and Raspian. But a little known fact is that you can follow the same +recipes using the free software construction game +<a href="https://minetest.org/">Minetest</a>.</p> + +<p>There is <a href="https://github.com/sprintingkiwi/pycraft_mod">a +Minetest module implementing the same API</a>, making it possible to +use the Python programs coded to talk to Minecraft with Minetest too. +I +<a href="https://ftp-master.debian.org/new/minetest-mod-pycraft_0.20%2Bgit20180331.0376a0a%2Bdfsg-1.html">uploaded +this module</a> to Debian two weeks ago, and as soon as it clears the +FTP masters NEW queue, learning to program Python with Minetest on +Debian will be a simple 'apt install' away. The Debian package is +maintained as part of the Debian Games team, and +<a href="https://salsa.debian.org/games-team/unfinished/minetest-mod-pycraft">the +packaging rules</a> are currently located under 'unfinished' on +Salsa.</p> + +<p>You will most likely need to install several of the Minetest +modules in Debian for the examples included with the library to work +well, as there are several blocks used by the example scripts that are +provided via modules in Minetest. Without the required blocks, a +simple stone block is used instead. My initial testing with a analog +clock did not get gold arms as instructed in the python library, but +instead used stone arms.</p> + +<p>I tried to find a way to add the API to the desktop version of +Minecraft, but were unable to find any working recipes. The +<a href="https://www.epiphanydigest.com/tag/minecraft-python-api/">recipes</a> +I <a href="https://github.com/kbsriram/mcpiapi">found</a> are only +working with a standalone Minecraft server setup. Are there any +options to use with the normal desktop version?</p> + +<p>As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p> + + + Non-blocking bittorrent plugin for vlc http://people.skolelinux.org/pere/blog/Non_blocking_bittorrent_plugin_for_vlc.html @@ -519,69 +573,6 @@ disk and ask 'openssl ts' to verify the timestamp. A timestamp is around 1.5 kiB in size, and should be fairly easy to store for future use.</p> -<p>As usual, if you use Bitcoin and want to show your support of my -activities, please send Bitcoin donations to my address -<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p> - - - - - Automatic Google Drive sync using grive in Debian - http://people.skolelinux.org/pere/blog/Automatic_Google_Drive_sync_using_grive_in_Debian.html - http://people.skolelinux.org/pere/blog/Automatic_Google_Drive_sync_using_grive_in_Debian.html - Thu, 4 Oct 2018 15:20:00 +0200 - <p>A few days, I rescued a Windows victim over to Debian. To try to -rescue the remains, I helped set up automatic sync with Google Drive. -I did not find any sensible Debian package handling this -automatically, so I rebuild the grive2 source from -<a href="http://www.webupd8.org/">the Ubuntu UPD8 PPA</a> to do the -task and added a autostart desktop entry and a small shell script to -run in the background while the user is logged in to do the sync. -Here is a sketch of the setup for future reference.</p> - -<p>I first created <tt>~/googledrive</tt>, entered the directory and -ran '<tt>grive -a</tt>' to authenticate the machine/user. Next, I -created a autostart hook in <tt>~/.config/autostart/grive.desktop</tt> -to start the sync when the user log in:</p> - -<p><blockquote><pre> -[Desktop Entry] -Name=Google drive autosync -Type=Application -Exec=/home/user/bin/grive-sync -</pre></blockquote></p> - -<p>Finally, I wrote the <tt>~/bin/grive-sync</tt> script to sync -~/googledrive/ with the files in Google Drive.</p> - -<p><blockquote><pre> -#!/bin/sh -set -e -cd ~/ -cleanup() { - if [ "$syncpid" ] ; then - kill $syncpid - fi -} -trap cleanup EXIT INT QUIT -/usr/lib/grive/grive-sync.sh listen googledrive 2>&1 | sed "s%^%$0:%" & -syncpdi=$! -while true; do - if ! xhost >/dev/null 2>&1 ; then - echo "no DISPLAY, exiting as the user probably logged out" - exit 1 - fi - if [ ! -e /run/user/1000/grive-sync.sh_googledrive ] ; then - /usr/lib/grive/grive-sync.sh sync googledrive - fi - sleep 300 -done 2>&1 | sed "s%^%$0:%" -</pre></blockquote></p> - -<p>Feel free to use the setup if you want. It can be assumed to be -GNU GPL v2 licensed (or any later version, at your leisure), but I -doubt this code is possible to claim copyright on.</p> - <p>As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>