Skip to content

Instantly share code, notes, and snippets.

import React from "react";
import ResizeObserver from "resize-observer-polyfill";
import shallowEqual from "fbjs/lib/shallowEqual";
export default class PausableMeasure extends React.Component {
node = null;
state = {bounds: null};
componentWillMount() {
if (!this.props.dontMeasure) this.setup();
@danielberndt
danielberndt / material-ui-tabs-react-router-4.jsx
Created March 23, 2017 17:26
Failed attempt at combining material UI and react-router-4
const routes = [
{label: "Home", url: "/"},
{label: "Sub Page", url: "/sub"}
];
const TabsElement = () => (
<Tabs value="match">{routes.map(({label, url}) => (
<Route path={url} exact>{({match}) => (
<Tab label={label} value={match && "match"} containerElement={p => <Link {...p} to={url}/>}/>
)}</Route>
@danielberndt
danielberndt / load-from-json.js
Last active February 26, 2020 12:36
load pixi.js sprite sheet jsons via webpack
`
this allows you to use all of webpack's goodness to load your sprites.
here's some benefits:
- saving one roundtrip since webpack's json-loader will inline the json data into the script. Thus it doesn't need to be loaded from the server first
- use a lot of the file-loader power and beyond to create cache-busting urls, and apply image-minification via e.g. image-webpack-loader
`
import PIXI from "pixi.js";
@danielberndt
danielberndt / app.rb
Created October 27, 2015 21:47
sending exceptions straight to slack
require 'slack-notifier'
slack_notifier = Slack::Notifier.new HOOKURL, username: 'oh-noes'
rescue_from :all do |e|
attachment = {
fallback: "stacktrace",
color: "danger",
fields: e.backtrace.map {|line| {value: slack_notifier.escape(line), short: false}}
}
@danielberndt
danielberndt / requests.js
Created March 12, 2015 19:32
Using superagent is just fine
// By including either of those libraries the minified code size will increase by...
var request = require("superagent"); // 9.05 kB
var request = require("qwest"); // 7.8 kB
var request = require("rest"); // 28.8 kB
var request = require("browser-request"); // 6.37 kB
var request = require("reqwest"); // 10.1 kB
public abstract class CrudController<T extends Model> {
protected Form<T> form;
private Template1<Form<T>,Html> composeTemplate;
private Template1<T,Html> showTemplate;
private Template2<T,Form<T>,Html> editTemplate;
private Template1<List<T>,Html> listTemplate;
private Finder<Long,T> finder;
public CrudController(Class<T> clazz,
package controllers;
import models.Model;
import models.User;
import play.api.templates.Html;
import play.data.Form;
import play.mvc.Controller;
import play.mvc.Result;
public abstract class ControllerAgent<T extends Model, F1, F2> {
@danielberndt
danielberndt / xuggler - ant run-tests
Created April 5, 2012 16:33
xuggler - ant ivy-retrieve
18:28:24 xuggler_repo(master|✔) % ant ivy-retrieve
Buildfile: /opt/xuggler_repo/build.xml
ivy-init:
[echo] Initing ivy from /opt/xuggler_repo/mk/buildtools/lib/ivy-2.2.0.jar
[echo] Ivy task loaded: /opt/xuggler_repo/mk/buildtools/lib/ivy-2.2.0.jar
[echo] Ivy settings file set: /opt/xuggler_repo/mk/buildtools/ivysettings.xml
ivy-retrieve:
[mkdir] Created dir: /opt/xuggler_repo/build/lib
@danielberndt
danielberndt / Build.scala
Created March 20, 2012 13:33
jörgs Build.scala in action
import sbt._
import Keys._
import PlayProject._
object ApplicationBuild extends Build {
val appName = "myproject"
val appVersion = "1.0"
val appDependencies = Seq(
@danielberndt
danielberndt / Build.scala
Created March 19, 2012 12:29
Build.scala to fix classnotfoundexception
import sbt._
import Keys._
import PlayProject._
object ApplicationBuild extends Build {
val appName = "project"
val appVersion = "1.0"
val appDependencies = Seq(