Skip to content

Instantly share code, notes, and snippets.

Johannes Brodwall jhannes

Block or report user

Report or block jhannes

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
jhannes /
Last active Aug 27, 2019
Google Forms to Trello
var authentication = "key=a...&token=9...";
var idBoard = "592....";
var inboxList = "592...";
var updatedLabel = "592....";
function getField(itemResponses, fieldName) {
var titles = [];
for (var i in itemResponses) {
if (itemResponses[i].getItem().getTitle() === fieldName && itemResponses[i].getResponse().length > 0) {
jhannes /
Created Jan 16, 2015
Jetty 9 embedded Servlet 3.0 annotations without war file
public class AnnotationScanner {
protected void scanForAnnotations(final String javaPackage, WebAppContext webapp) throws Exception {
Set<AnnotationParser.Handler> handlers = new HashSet<>();
handlers.add(new WebServletAnnotationHandler(webapp));
handlers.add(new WebFilterAnnotationHandler(webapp));
handlers.add(new WebListenerAnnotationHandler(webapp));
AnnotationParser annotationParser = new AnnotationParser();
for (URL url : ((URLClassLoader) getClass().getClassLoader()).getURLs()) {
jhannes / package.json
Last active Aug 29, 2015
Promises you can trust
View package.json
"name": "promises",
"scripts": {
"test": "node node_modules/mocha/bin/mocha --watch --growl"
"devDependencies": {
"chai": "^1.10.0",
"mocha": "^2.0.1"
"dependencies": {
jhannes /
Last active Oct 19, 2016
Dead simple configuration
package com.johannesbrodwall.infrastructure;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Properties;
package no.something.ftas.solvers;
import no.something.ftas.QuestionSolver;
public class AdditionSolver extends QuestionSolver {
public AdditionSolver() {
jhannes /
Created Jul 16, 2012
Test driving external dependencies
public class CurrencyPublisherTest {
private SubscriptionRepository subscriptionRepository = mock(SubscriptionRepository.class);
private EmailService emailService = mock(EmailService.class);
private CurrencyPublisher publisher = new CurrencyPublisher();
private CurrencyService currencyService = mock(CurrencyService.class);
private GeolocationService geolocationService = mock(GeolocationService.class);
public void shouldPublishCurrency() throws Exception {
jhannes /
Created Jun 26, 2012
Syntax proof-of-concept for XML library
public class Demo {
private static Object baseUrl;
public static void main(String[] args) {
Namespace SOAP_NS = new Namespace("", "SOAP");
Namespace MSG_NS = new Namespace("", "msg");
TagName envelopeTag = SOAP_NS.tag("Envelope");
Element envelope = envelopeTag.create(
class ShoppingCart
constructor: (@items)->
@counts = (count for item,count of @items).sort().reverse()
totalPrice: -> @subTotal() - @discount()
subTotal: ->
result = 0
result += count*8 for item,count of @items
discount: ->
@discountForSetOfSize(2, 5) +
jhannes / Separate Solar and Bounce
Created Mar 18, 2012
Mikado "tree" for "space" exercise 2
View Separate Solar and Bounce
v Separate Solar system and bouncing ball logic
v Delete IS_BOUNCING_BALL flagg
v Move main method of Space to subclasses
v Create subclasses of "Space"
v Remove IS_BOUNCING_BALLS if-test in main
v Extract main method logic to non-static method
v Make IS_BOUNCING_BALLS into an argument
v Convert if statements into polymorphism
v Convert IS_BOUNCING_BALLS into non-static field in Space
jhannes /
Created Jan 26, 2012
CoffeeScript from 26th january
class exports.Minefield
constructor: (@cells)->
hints: ->
((@hint(row,col) for col in @cols()).join("") for row in @rows())
rows: -> [0...@cells.length]
cols: -> [0...@cells[0].length]
hint: (row,col) ->
You can’t perform that action at this time.