Author Archive

2014-03-29 22:06:45 | Author:

What I think I know about SQF scripting after fiddling around with it for one evening:

* use Squint as development environment
* scripts are executable, functions are callable; in either case you get your own scope
* both take one parameter, and return one value
* to pass more than one value, use arrays. or lists. whatever they’re called.
* access the passed parameter using the magic _this var
* there are three var visibilities: global, local, private
* declare as many of your vars as being private as possible to avoid colliding with vars from the caller scope
* local vars have names starting with _
* all statements end with a semicolon
* the last statement of a function doesnt end with semicolon, and its resulting value is returned from the function

Assignments are done with “=”

This is what a function looks like:

bla = {
	return _this // return the argument
};

And that’s how you call it:

"foo" call bla; // <parameter> "call" <function>. yep. returns "foo".

This is what an array looks like:

arrayVariable = ["foo", "bar"];

That’s how you access array values:

arrayValue = arrayVariable select 0;

Then there’s control structures:

while {_this alive} do {
	// ... stuff
};

To avoid ambiguity, parens can be used:

xxx = ("foo" call someFunction) call anotherFunction;
Category: Anleitung  | Leave a Comment
2013-12-25 10:06:48 | Author:

* archiv entpacken
* eventuell installieren: libsdl-mixer1.2, libjpeg62
* bei Bedarf in ~/.clonk/rage/config die Auflösung anpassen
* ./install.sh aufrufen und clonk über’s desktopmenu starten können, oder ./clonk64 direkt starten

Category: Uncategorized  | Tags:  | Leave a Comment
2013-11-10 12:43:15 | Author:

… just changing the wp-config value and the table names is not enough.

You also have to change, what the living fuck, keys in the options and usermeta tables to reflect the new table name prefix.


update ${newprefix}options set option_name = '${newprefix}user_roles' where option_name = '${oldprefix}user_roles';

insert into ${newprefix}usermeta (user_id, meta_key, meta_value) select user_id, concat('${newprefix}', substring(meta_key, 4)), meta_value from ${newprefix}usermeta where meta_key like '${oldprefix}%';

delete from ${newprefix}usermeta where meta_key like '${oldprefix}%';

After two hours of browsing through wordpress’ sources, I did not think anything could shock me any more. Wrong. This very much tops my wtf list.

Category: Uncategorized  | Tags:  | Leave a Comment
2013-07-24 09:20:05 | Author:

to boot from USB on UEFI mainboards, a Windows iso has to be slightly modified. here’s how:

create bootable device using unetbootin. cd to its root directory.
then:

sudo apt-get install p7zip-full
7z x sources/install.wim 1/Windows/Boot/EFI/bootmgfw.efi
mkdir efi/boot && mv 1/Windows/Boot/EFI/bootmgfw.efi efi/boot/bootx64.efi
rm -r 1

thats it. – no guarantees for correctness, written from memory

2012-07-31 20:01:52 | Author:

war im paradies
nur für einen tag
auf meinen wangen lag
die sonne stumm
und ließ die welt erstrahlen

2012-07-31 19:59:22 | Author:

… because nobody wants to see ads.

  • Publishers include ads into their pages to get paid for the content they provide.
  • Users get densitized, ad click rates fall.
  • Publishers include more intrusive/aggressive ads.
  • Users get fed up and tell their browsers to not show ads at all.
  • Publishers start devising cunning means to make sure the user acknowledges an ad before providing content while at the same time they have to keep those blocks transparent to search engines (quite a dilemma).
  • That really pisses people off.

fubar

(Solutions? Micropayment seems to not really get off the ground – so far)

Category: Uncategorized  | Tags: ,  | Leave a Comment
2012-02-04 22:46:03 | Author:

After realizing how bad I am at estimating my chances in battle in the Axis & Allies 1940 board game, I looked for a combat simulator/calculator.

I disliked the input style (hitting tab until you get to the field for the unit type you want to add) on dskelly.com , so I decided to do my own thing. Sources are at github, as is customary these days.

There’s a lot of stuff missing, and I have no idea about the rules for variations other than the 1940 variant, but I’m quite happy right now ;)

Category: games  | Tags: , , ,  | Leave a Comment
2012-01-20 23:00:43 | Author:

Discovered gource the day before yesterday. Want! In the office! In realtime!

sudo apt-get install gource

Gource can read the logs from existing repositories.

But to continuosly feed it with incoming revisions, we’ll attach a post-commit hook to the SVN repository that creates a custom log format, which is then written to a file as the changes come in.

Add to or execute from /hooks/post-commit in your svn server directory:

#!/bin/sh

REPOS="$1"
REV="$2"

# COLOR=FFFFFF
AUTHOR=`svnlook author --revision $REV $REPOS`
TIME=`date +%s`
CUSTOMLOGFILE=/home/fusselwurm/svn-gource.log

svnlook changed --revision $REV $REPOS | while read line; do
        STATE_FILES=`echo $line | sed -E 's/\s+/|/' -`
        LOGLINE="$TIME|$AUTHOR|$STATE_FILES" # |$COLOR" 
        echo "$LOGLINE" >> "$CUSTOMLOGFILE"
done;

Right. Now pipe the log file’s contents to gource:

tail -F /home/fusselwurm/svn-gource.log | \
  gource --log-format custom -200x200 -

Yay!

Category: Anleitung, Linux  | Tags: , ,  | Leave a Comment
2011-10-03 11:36:42 | Author:

For some time now, Minecraft Launcher couldnt login (“cant connect to minecraft.net”).
This happened only on one machine.
Enter wireshark:

Alert (Level: Fatal, Description: Certificate Unknown)

Wtf? It works everywhere!
Then it struck me. The BIOS clock resets every time I start the Windows box, because the mobo’s battery died.
I usually dont care, because I use Windows for gaming only, and then time is irrelevant ;P

So I set the correct time, and voila… the certificate becomes valid. Login works. Rah!

Category: games  | Leave a Comment
2011-03-12 19:27:22 | Author:

die staubmäuse reden nicht mehr mit mir. sie haben sich in ihre ecke gedrückt, und starren mich vorwurfsvoll an. ich habe ihre kollegen von der gegenüberliegenden seite verscheucht, nein nicht nur das, ich habe sie weggewischt. naß. wasser ist das ende einer jeden staubmaus, das habe ich vorher gewußt, und dennoch habe ich es getan, billigend ihren tod in kauf nehmend. ich bereue es. wer redet sonst mit mir, außer den staubmäusen, in den stillen nächten, wenn der mond das fenster erreicht und einen schmalen streifen licht in ihre ecke sticht. aber es atmet sich so schwer, mit dem gesicht im staub, in denselben nächten, auch wenn sie mit mir redeten, und da habe ich das wasser genommen, gutes wasser, und meine hände, gute hände, und habe sie weggewischt von der seite, da wo ich liege, und sie haben entsetzt zugesehn, die mäuse die mit mir redeten, als ich sie fortschob, die mäuse, die stumm waren, stumm und aus staub, aber mäuse, und manche redeten mit mir, die, die in der ecke, wo der mond sein licht hineinsticht. jetzt starren sie mich nur noch an, und fürchten sie müßten auch fort, eine nach der andern, zusammengepreßt zu einem nassen klumpen nichtmäusigkeit, unstaubigkeit, zu einem klumpen der aus dem fenster fliegt, wie der andere zuvor. ich habe nicht die absicht, will ich ihnen sagen, ihr armen mäuse, aber sie hören mir nicht mehr zu, ich habe ihr vertrauen verloren. so einsam bin ich jetzt, ohne die mäuse, vielleicht sollte ich mit dem schatten reden, den das mondlicht umfaßt, er sieht etwas gesprächiger aus als die nun stummen mäuse. aber das ist dumm, denn schatten reden nicht, jedenfalls keine guten dinge, das haben mir die mäuse gesagt. als sie noch mit mir redeten….