Skip to content

Instantly share code, notes, and snippets.

View sscarduzio's full-sized avatar

Simone Scarduzio sscarduzio

View GitHub Profile
@sscarduzio
sscarduzio / rg.out
Created June 25, 2013 09:02
Stack trace from redgate with vert.x 2.0.0 CR2
An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler
in the pipeline did not handle the exception.
java.nio.channels.ClosedChannelException
at io.netty.channel.AbstractChannel$AbstractUnsafe.flushNow(AbstractChannel.java:683)
at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:654)
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:644)
at io.netty.channel.DefaultChannelPipeline$HeadHandler.write(DefaultChannelPipeline.java:1040)
at io.netty.channel.DefaultChannelHandlerContext.invokeWrite0(DefaultChannelHandlerContext.java:716)
at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:700)
at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:692)
@sscarduzio
sscarduzio / pom.xml
Created December 19, 2015 16:16
Maven configuration for enabling Elasticsearch integration tests (took me 2 hours)
<dependencies>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>${elasticsearch.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
@sscarduzio
sscarduzio / GenericMonadTransformer.scala
Last active December 21, 2015 01:49
Daniel's transformer won't work with future
package test
import scala.util.Try
import scalaz._
import scalaz.std.option._
import scalaz.std.list._
sealed trait CoPConst {
type Point[A]
}
@sscarduzio
sscarduzio / test.py
Created October 25, 2013 13:56
grepFromString with caseSensitive=False never executes the body of the for beyond the "if caseSensitive" statement (line 12)
def grepFromFile(filename, string):
content = run('cat' + filename, capture=True)
return grep(content, string)
def grepFromString(haystack, needle, caseSensitive):
result = None
if(caseSensitive):
needle = needle.lower()
s = StringIO.StringIO(haystack)
@sscarduzio
sscarduzio / Test.sh
Last active December 27, 2015 08:19
Vert.x bug: ReadStream.pause() does not work https://bugs.eclipse.org/bugs/show_bug.cgi?id=421133
#!/bin/bash
echo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@sscarduzio
sscarduzio / PingResponder.java
Last active December 28, 2015 06:09
Proxy server in Netty
package com.mpme.netty;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.util.CharsetUtil;
public class PingResponder extends ChannelInboundHandlerAdapter {
final static private ByteBuf PING = Unpooled.copiedBuffer("PING", CharsetUtil.UTF_8);
@sscarduzio
sscarduzio / RedisCommandDecoder.java
Last active December 28, 2015 17:19
RedisCommandDecoder.java
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.ByteToMessageDecoder;
import io.netty.util.CharsetUtil;
import java.util.List;
import redgate.protocol.RedisCommand;
@sscarduzio
sscarduzio / SearchService.scala
Created January 27, 2016 14:40
Refactor ensime-server indexer (excerpt)
// Proposed code
override def receive: Receive = {
// ... snip ...
for {
indexed <- Future.sequence(batch.map {
case (_, f) =>
if (!f.exists()) Future.successful(f -> Nil)
else searchService.extractSymbolsFromClassOrJar(f).map(f ->)
})
.recoverWith { case t: Throwable => log.error(s"failed to index batch of ${batch.size} files", t); Future.failed(t)}
@sscarduzio
sscarduzio / validated.scala
Last active May 31, 2016 17:43
Cannot find |@| ( using "org.typelevel" %% "cats" % "0.6.0")
import cats.data.{Validated, Xor}
import cats.syntax.apply._ // For |@| syntax
import cats.std.list._ // For semigroup (append) on List
object ValidatedExample {
import Xor.{left, right}
import Validated.{invalid, valid}
// We are going to compare the behaviour of Xor and Validated. First we
// define some instances. Then we combine them using flatMap
@sscarduzio
sscarduzio / sbtmkdirs.sh
Last active July 13, 2016 12:48 — forked from alvinj/sbtmkdirs.sh
A shell script to create an SBT project directory structure
#!/bin/bash
#------------------------------------------------------------------------------
# Name: sbtmkdirs
# Purpose: Create an SBT project directory structure with a few simple options.
# Author: Alvin Alexander, http://alvinalexander.com
# Info: http://alvinalexander.com/sbtmkdirs
# License: Creative Commons Attribution-ShareAlike 2.5 Generic
# http://creativecommons.org/licenses/by-sa/2.5/
#------------------------------------------------------------------------------