Skip to content

Instantly share code, notes, and snippets.

View ePirat's full-sized avatar

Marvin Scholz ePirat

View GitHub Profile
@ePirat
ePirat / Test.scpt
Created August 8, 2011 10:42
AppleScript Fun
set txt to "line 1
line 2
Xeon3D 3
line 4"
set txtlist to paragraphs of txt
repeat with theLine in txtlist
if theLine contains "Xeon3D" then
return theLine as text
@ePirat
ePirat / nowpaying.scpt
Created August 11, 2011 17:17
Crap Script © ePirat
-- by MacScripter User Nigel Garvey
on switchText(t, r, s)
set d to text item delimiters
set text item delimiters to s
set t to t's text items
set text item delimiters to r
tell t to set t to item 1 & ({""} & rest)
set text item delimiters to d
t
end switchText
@ePirat
ePirat / startserver.js
Created August 11, 2011 23:54
Node js - Chat Server (NSFW)
Array.prototype.has = function(value) {
var i;
for (var i = 0, loopCnt = this.length; i < loopCnt; i++) {
if (this == value) {
return true;
}
}
return false;
};
@ePirat
ePirat / watermark.php
Created November 16, 2011 21:26
Wasserzeichen (PHP)
<?php
function PlaceWatermark($file, $text, $xxx, $yyy, $op, $outdir) {
require_once('fpdf.php');
require_once('fpdi.php');
$name = uniqid();
$font_size = 5;
$ts=explode("\n",$text);
$width=0;
foreach ($ts as $k=>$string) {
$width=max($width,strlen($string));
@ePirat
ePirat / newsfix.user.js
Created November 28, 2011 20:34
Fix clearing search bar when switching to Google News
// ==UserScript==
// @name Google News Query Save
// @namespace ePirat
// @description Fixes that you have to re-enter the search term when you click "News" link
// @include http*://google.com/*
// @include http*://google.ae/*
// @include http*://google.com.af/*
// @include http*://google.com.ag/*
// @include http*://google.off.ai/*
// @include http*://google.am/*
@ePirat
ePirat / Parser.js
Created January 16, 2013 21:12
Link header parser (JavaScript)
var PageLinks = function(linkHeader) {
var ProfileRel = "https://tent.io/rels/profile";
var final = [];
var links = linkHeader.split(",");
if (links.length < 2)
links[0] = linkHeader;
for (link in links) {
link = links[link];
var segments = link.split(";");
if (segments.length < 2)
<?php
function dirtyHeaderParser($headers, $strict = true){
$arr = array();
$s = strtok($headers, ':');
while ($s){
if ( ($s[0] === ' ') || ($s[0] === "\t") ){
if (count($arr) != 0){
$tail = strtok('');
$tail = "{$s}:{$tail}";
@ePirat
ePirat / CodeStyle.md
Last active August 29, 2015 14:07
C Coding Style proposal for Icecast

C Coding Style

Proposal for Icecast

Formatting

Indent with (4) spaces, no tabs.
A Line Should Not Exceed 80 Characters.

Brace Placement

All if, while, for and do statements should either have braces or be on a single line. Do not put parens next to keywords. Put a space between.

@ePirat
ePirat / spec.md
Last active May 5, 2024 11:56
Icecast Protocol specification

Icecast protocol specification

What is the Icecast protocol?

When speaking of the Icecast protocol here, actually it's just the HTTP protocol, and this document will explain further how source clients need to send data to Icecast.

HTTP PUT based protocol

Since Icecast version 2.4.0 there is support for the standard HTTP PUT method. The mountpoint to which to send the data is specified by the URL path.

@ePirat
ePirat / keybase.md
Created February 25, 2015 08:33
keybase.md

Keybase proof

I hereby claim:

  • I am ePirat on github.
  • I am epirat (https://keybase.io/epirat) on keybase.
  • I have a public key whose fingerprint is 66DF 0B23 CE79 3C28 0922 62E1 3EBF 06BE 1FF9 645A

To claim this, I am signing this object: