Skip to content

Instantly share code, notes, and snippets.

@ivoba
ivoba / DateTimeNoSecondsTransformer.php
Created November 3, 2022 11:07
DataTransformer to remove seconds for HTML5 datepicker with symfony forms
View DateTimeNoSecondsTransformer.php
<?php
namespace App\Form;
use Symfony\Component\Form\DataTransformerInterface;
class DateTimeNoSecondsTransformer implements DataTransformerInterface
{
public function transform(mixed $value)
{
@ivoba
ivoba / PostgisPostgreSqlPlatform.php
Created October 31, 2022 09:11
Postgis Postgres Platform for Doctrine
View PostgisPostgreSqlPlatform.php
<?php
namespace App\DBAL;
use Doctrine\DBAL\Platforms\PostgreSQLPlatform as PostgreSqlPlatformBase;
class PostgisPostgreSqlPlatform extends PostgreSqlPlatformBase
{
public function getListNamespacesSQL()
{
View resume.json
{
"meta": {
"theme": "elegant"
},
"basics": {
"name": "Ivo Bathke",
"label": "Software Developer",
"picture": "https://gist.githubusercontent.com/ivoba/e60c4a537dfa773d37f12cfc02a33798/raw/6c5f4160e1ba2956bcf28eb90bf8eeac30374ba3/resume_ivoba.JPG",
"summary": "I am a senior Software Developer with 20+ years experience in APIs and web applications for ecommerce, travel industry and other sectors. I prefer the backend yet im not afraid of frontends. I even can do DevOps, i would not call me a Admin though. I like open source, remote work, putting tickets to \"Ready for Review\", meetings in videochats across timezones, tagging releases, refactoring, writing tests, checking the commit log and posting smilies to the chat.",
"website": "https://ivo-bathke.name",
@ivoba
ivoba / composer.json
Created April 11, 2022 10:59
SilverStripe 4.10 & PHP8.1 fix deprecation warnings
View composer.json
"require": {
...
"cweagans/composer-patches": "^1.7"
...
"extra": {
"patches": {
"silverstripe/framework": {
"Fix SilverStripe deprecations error_reporting for PHP 8.1": "./fix-deprecation-error_reporting.4.10.4.patch"
}
}
@ivoba
ivoba / filterCsv.mjs
Last active January 17, 2022 08:41
Filter a csv file with nodejs streams
View filterCsv.mjs
import {pipeline} from 'stream';
import {parse, transform, stringify} from 'csv';
import {createReadStream, createWriteStream} from 'fs';
pipeline(
createReadStream(`./members.csv`),
parse(),
transform(data => data[2] !== '' ? data : null),
stringify({}),
createWriteStream(`./members_filtered.csv`),
@ivoba
ivoba / SS4_lemp_config.conf
Last active January 9, 2018 08:38
SS4 lemp config
View SS4_lemp_config.conf
server {
listen 80;
# server_name domain.tld www.domain.tld;
index index.php;
root /var/www/current;
charset utf8;
autoindex off;
View init.coffee
# Your init script
#
# Atom will evaluate this file each time a new window is opened. It is run
# after packages are loaded/activated and after the previous editor state
# has been restored.
#
# An example hack to log to the console when each text editor is saved.
#
# atom.workspace.observeTextEditors (editor) ->
# editor.onDidSave ->
@ivoba
ivoba / gist:faf0cff10410024f87e0
Created June 17, 2015 13:07
VarDumper dump javascript error #15015
View gist:faf0cff10410024f87e0
<script> Sfdump = window.Sfdump || (function (doc) { var refStyle = doc.createElement('style'), rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/; doc.documentElement.firstChild.appendChild(refStyle); function toggle(a) { var s = a.nextSibling || {}; if ('sf-dump-compact' == s.className) { a.lastChild.innerHTML = '&#9660;'; s.className = 'sf-dump-expanded'; } else if ('sf-dump-expanded' == s.className) { a.lastChild.innerHTML = '&#9654;'; s.className = 'sf-dump-compact'; } else { return false; } return true; }; return function (root) { root = doc.getElementById(root); function a(e, f) { root.addEventListener(e, function (e) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } }); }; root.addEventListener('mouseover', function (e) { if ('' != refStyle.innerHTML) { refStyle.innerHTML = ''; } }); a('mouseover', function (a) { if (a = idRx.exec(a.className)) { refStyle.innerHTML = 'pre.sf-dump .'+a[0]+'{background-col
@ivoba
ivoba / Dockerfile
Created February 20, 2015 16:28
php5.5 with pimple c extension
View Dockerfile
FROM ubuntu:14.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y \
php5-dev \
php5-cli \
php5-fpm \
php5-json \
php5-intl \
@ivoba
ivoba / post-merge
Created November 13, 2014 17:13
post-merge hook for composer php apps
View post-merge
#/usr/bin/env bash
# MIT © Sindre Sorhus - sindresorhus.com
# forked by Gianluca Guarini
# phponly by Ivo Bathke ;)
changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"
check_run() {
echo "$changed_files" | grep --quiet "$1" && eval "$2"
}