Skip to content

Instantly share code, notes, and snippets.

Avatar

Maciej Łebkowski mlebkowski

View GitHub Profile
View tsv2csv.sh
#!/bin/bash
#
# Input is tab separated, UTF-8 with " quotes
#
INPUT="${1:-/dev/stdin}"
printf '\xFF\xFE';
cat "$INPUT" | iconv -f UTF-8 -t UTF-16LE
View ContactDiffService.php
<?php
interface ContactDiffServiceInterface
{
public function generateDiffContact(ContactInterface $baseContact, ContactInterface $toDiff, $cleanup = true);
}
class ContactDiffService implements ContactDiffServiceInterface
{
public function __construct(IpressoFactoryInterface $factory, AttributeTypeFormatter $formatter);
View cleanup-docker.sh
#!/bin/bash
# remove exited containers:
docker ps --filter status=dead --filter status=exited -aq | xargs -r docker rm -v
# remove unused images:
docker images --no-trunc | grep '<none>' | awk '{ print $3 }' | xargs -r docker rmi
# remove unused volumes:
find '/var/lib/docker/volumes/' -mindepth 1 -maxdepth 1 -type d | grep -vFf <(
View damn-phars.sh
#!/bin/bash
if [ ! -f ".idea/nutricia.iml" ]; then
echo 'Run this command from the root of your project (.idea/nutricia.iml not found)' >&2
exit 1;
fi
echo 'nutricia.iml filter=phar' >> .git/info/attributes
# on disk, there is never a trailing slash
git config --global filter.phar.smudge 'sed s,[.]phar/,.phar,g'
View update-prod-database.sh
#!/usr/bin/env bash
set -ueo pipefail
MYSQL_USER=${MYSQL_USER:-root}
main() {
local project=${1:-}
local suffix=${2:-"prod"}
@mlebkowski
mlebkowski / functional.php
Last active Aug 29, 2015
Functional PHP with a little OOP aid
View functional.php
<?php
// Node[] -> (map) -> NodeTranslation[] -> (map) -> Category[] -> slice
// Purely „functional” PHP:
$parents = array_slice(array_map(function (NodeTranslation $nt)
{
return new Category($nt->getTitle(), $nt->getNode()->getId(), $nt->getSlug());
}, array_map(function (Node $node)
{
View s3.sh
# You don't need Fog in Ruby or some other library to upload to S3 -- shell works perfectly fine
# This is how I upload my new Sol Trader builds (http://soltrader.net)
# Based on a modified script from here: http://tmont.com/blargh/2014/1/uploading-to-s3-in-bash
S3KEY="my aws key"
S3SECRET="my aws secret" # pass these in
function putS3
{
path=$1
View facade.php
<?php
class PaymentsFacade extends Container
{
private $requiredKeys = [
'factory.project',
'price-calculator',
'repository.plan',
'repository.coupon',
'service.authorize-card',
View EmailNotifier.php
<?php
interface EmailNotifierInterface {
/**
* Client was successfully charged for a project
*
* context: payment_history model (with access to project & invoice)
*/
const NOTIFICATION_CHARGED = 'charged';
View payment-retry.php
<?php
$retry = [
"today" => 'failure-notification',
'+1 day' => 'none',
'+3 days' => 'failure-notification',
'+1 week' => 'failure-notification',
'+2 weeks' => 'failure-notification, suspend'
];
?>
You can’t perform that action at this time.