Skip to content

Instantly share code, notes, and snippets.

View mikaelhg's full-sized avatar
🏠
Working from home

Mikael Gueck mikaelhg

🏠
Working from home
View GitHub Profile
@mikaelhg
mikaelhg / snippet.java
Created April 30, 2014 16:02
Java 8 lambda streams come in handy when parsing HTML with Jsoup and Lombok @builders
Document doc = Jsoup.parse(...);
doc.select("form#login").stream()
.map(e -> e.attr("action"))
.map(action -> find(action, LINK_ID_PATTERN).group(1))
.filter(Objects::nonNull)
.findFirst()
.ifPresent(builder::id);
content.select("div#datePublished").stream()
@mikaelhg
mikaelhg / LambdaConverter.java
Last active August 29, 2015 14:02
Playing around with ideas for easily readable bean or even JSON converters using Java 8 lambdas
package io.mikael.convert;
import java.util.ArrayList;
import java.util.List;
import java.util.function.*;
public class LambdaConverter {
public static class Foo {
public String getA() { return "A"; }
@mikaelhg
mikaelhg / Sandbox.java
Last active August 29, 2015 14:03
PEG Sandbox
package io.mikael.peg;
import java.util.Arrays;
public class Sandbox {
public static void main(String[] args) {
System.out.printf("character('a', 'h').match(\"far\") = <%s>%n",
character('a', 'h').match("far"));
@mikaelhg
mikaelhg / xinput.txt
Last active August 29, 2015 14:09
Lynn's mouse buttons
xinput list
xinput list 9
xinput get-button-map 9
xinput set-button-map 9 1 2 3 4 5 6 7 2 2 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
/usr/share/X11/xorg.conf.d/logitech-usb-gaming-mouse.conf
@mikaelhg
mikaelhg / JooqDslTest.java
Created November 19, 2014 13:36
jOOQ DSL demo
package test;
import org.jooq.SQLDialect;
import org.jooq.impl.DSL;
import org.postgresql.ds.PGSimpleDataSource;
import java.sql.Connection;
import java.util.Objects;
public class JooqDslTest {
@mikaelhg
mikaelhg / rabbitmq-startstop-poc.groovy
Created June 4, 2015 05:20
RabbitMQ start/stop POC
@GrabResolver(name="OJO", root="https://oss.jfrog.org/artifactory/repo")
@Grab(group = "io.ratpack", module = "ratpack-groovy", version="0.9.15-SNAPSHOT")
@Grab(group = "org.springframework.amqp", module="spring-rabbit", version="1.4.5.RELEASE")
import com.rabbitmq.client.Channel
import groovy.transform.TupleConstructor
import org.springframework.amqp.core.MessageListener
import org.springframework.amqp.rabbit.core.ChannelAwareMessageListener
import org.springframework.amqp.rabbit.core.RabbitAdmin
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer
@mikaelhg
mikaelhg / Demo.java
Last active May 4, 2022 06:49
Spring Boot @scheduled + Spring Security @PreAuthorize = RunAs
@Service
class FooService {
@Inject FooDao dao;
@Scheduled(fixedRate = 600000L, initialDelay = 60000L)
public void periodicalTask() throws IOException {
RunAs.runAsAdmin(() -> {
dao.save(new Foo(...));
});
@mikaelhg
mikaelhg / Application.java
Last active July 28, 2022 13:43
Spring Boot + Spring Data JPA + Spring Data REST + orm.xml = retrofitting pre-existing POJOs for REST API use
@SpringBootApplication
@RestController
public class Application {
@Configuration
public static class HibernateConfiguration extends HibernateJpaAutoConfiguration {
@Bean
@Override
public LocalContainerEntityManagerFactoryBean entityManagerFactory(
EntityManagerFactoryBuilder factoryBuilder)
@mikaelhg
mikaelhg / keybase.md
Created February 9, 2016 15:28
keybase.md

Keybase proof

I hereby claim:

  • I am mikaelhg on github.
  • I am mikaelhg (https://keybase.io/mikaelhg) on keybase.
  • I have a public key ASBDxHiKXEqFid6kn4qBGfNnIpLLZg8jH-5ZsZHIFd32Igo

To claim this, I am signing this object:

@mikaelhg
mikaelhg / ttyACM0.md
Created March 28, 2016 11:38
Arduino notes

Arduino would be able to send programs to the device as root, but not as user.

sudo apt-get --purge remove modemmanager

/etc/udev/rules.d/usbasp.rules

ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE="0666", GROUP="plugdev"
ATTRS{idVendor}=="2341", ATTRS{idProduct}=="8036", MODE="0666", GROUP="plugdev"