Skip to content

Instantly share code, notes, and snippets.

@xrstf
xrstf / gist:3459300
Created August 25, 2012 02:46
Sally 0.7 Controller-Erweiterung

Problem

Konkret ist der Content-Controller vom Sally-Backend problematisch. Er verlässt sich u.a. darauf, dass der nette Sally-Dispatcher seine Exceptions fängt. Das führt allerdings auch dazu, dass anstatt der "Inhalt"-Überschrift die "Unterwartete Exception"-Meldung auftaucht. Was nicht wirklich stimmt, da einige der Exceptions bewusst vom Controller geworfen werden (also nicht unerwartet sind).

Gleichzeitig taucht in vielen Controllern immer wieder das Muster auf, dass eine allgemeine init()-Methode angelegt wird, die von jeder Action als erstes aufgerufen wird. Teils ist die Methode so komplex, dass sie a) nicht mehrmals aufgerufen werden darf und b) die Ausführung der eigentlichen Action stoppen kann.

Vorschlag

@xrstf
xrstf / migrate.php
Created August 25, 2012 03:44
Migrationsscript für Sally 0.5/0.6/0.7-Updates
<?php
/*
* Copyright (c) 2012, webvariants GbR, http://www.webvariants.de
*
* This file is released under the terms of the MIT license. You can find the
* complete text in the attached LICENSE file or online at:
*
* http://www.opensource.org/licenses/mit-license.php
*/
@xrstf
xrstf / WebTestCase.php
Created September 14, 2012 12:00
Load Doctrine2 fixtures with foreign keys disabled
<?php
use Doctrine\Common\DataFixtures\Loader;
use Doctrine\Common\DataFixtures\Purger\ORMPurger;
use Doctrine\Common\DataFixtures\Executor\ORMExecutor;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase as SfWebTestCase;
use Project\DummyBundle\DataFixtures\ORM\MyFixture;
abstract class WebTestCase extends SfWebTestCase {
public function setUp() {

Keybase proof

I hereby claim:

  • I am xrstf on github.
  • I am xrstf (https://keybase.io/xrstf) on keybase.
  • I have a public key whose fingerprint is C642 F564 4F2E 15B1 7B90 1AB7 3CB6 C042 20FF 1254

To claim this, I am signing this object:

@xrstf
xrstf / bitbucket-proxy.php
Created February 28, 2013 03:38
This script can be used with Bitbucket's POST service to update packages on packagist.org.
<?php
/*
* Dieses Script dient als "Proxy" zwischen Bitbucket und Packagist. Es empfängt
* einen POST-Request über den generischen POST-Service von Bitbucket und leitet
* diesen als PUT-Request an Packagist weiter, um das dazugehörige Paket zu
* aktualisieren.
*/
function clean($var) {
return get_magic_quotes_gpc() ? stripslashes($var) : $var;
@xrstf
xrstf / IncrementableInterface.markdown
Last active December 17, 2015 19:19
Proposal for additional notes on the increment/decrement operations.

2.4 IncrementableInterface

This interface provides the ability to increment and decrement cache entries by their specified value. Some cache backends support this natively so that you don't have to read the item and then increment it and write it back to the cache server, this can be done in a single call to the cache server since it's natively supported by many modern cache servers.

  • Implementations MUST allow any integer to be incremented and decremented (i.e. decrementing 0 yields -1) by any [positive?] integer.
  • If a key does not exist, implementations MUST NOT create a new cache item and instead return false.
@xrstf
xrstf / README-setup-tunnel-as-systemd-service.md
Created November 11, 2017 09:52 — forked from drmalex07/README-setup-tunnel-as-systemd-service.md
Setup a secure (SSH) tunnel as a systemd service. #systemd #ssh #ssh-tunnel #ssh-forward

README

Create a template service file at /etc/systemd/system/secure-tunnel@.service. The template parameter will correspond to the name of target host:

[Unit]
Description=Setup a secure tunnel to %I
After=network.target
@xrstf
xrstf / freshservice-without-adhd.css
Last active April 12, 2022 12:18
Fix FreshService's terribly distracting UI
/* disable spinning effects */
.flip-front, .flip-back {
animation: none !important;
}
/* disable constant product update notifications */
#quick_help_container {
display: none !important;
}
@xrstf
xrstf / main.go
Created May 1, 2022 21:34
BME280 RPi Fan Controller
package main
import (
"context"
"fmt"
"log"
"os"
"os/signal"
"strconv"
"time"
@xrstf
xrstf / setup.md
Last active October 3, 2022 13:30
Nutch 2.3 + ElasticSearch 1.4 + HBase 0.94 Setup

Info

This guide sets up a non-clustered Nutch crawler, which stores its data via HBase. We will not learn how to setup Hadoop et al., but just the bare minimum to crawl and index websites on a single machine.

Terms

  • Nutch - the crawler (fetches and parses websites)
  • HBase - filesystem storage for Nutch (Hadoop component, basically)