Skip to content

Instantly share code, notes, and snippets.

View danieldk's full-sized avatar

Daniël de Kok danieldk

View GitHub Profile
template <int N>
struct Infinite
{
enum { value = Infinite<N - 1>::value };
};
int main(int argc, char *argv[])
{
Infinite<0>::value;
}
@danieldk
danieldk / gist:2709225
Created May 16, 2012 10:07
Decrease flickering in Dact OS X
diff --git a/src/PopupItem.cpp b/src/PopupItem.cpp
index 7f656be..808868c 100644
--- a/src/PopupItem.cpp
+++ b/src/PopupItem.cpp
@@ -24,7 +24,7 @@ QRectF PopupItem::boundingRect() const
QRectF PopupItem::rect() const
{
QSizeF popup = size();
- return QRectF(QPointF(-popup.width() / 2.0, -34.0), popup);
+ return QRectF(QPointF(-popup.width() / 2.0, -popup.height() / 2.0), popup);
@danieldk
danieldk / gist:3038189
Created July 3, 2012 07:06
ØMQ receive with timeout
receiveWithTimeout :: ZMQ.Socket a -> [ZMQ.Flag] -> ZMQ.Timeout ->
IO (Maybe B.ByteString)
receiveWithTimeout socket flags timeout = do
[ZMQ.S _ reqState] <- ZMQ.poll [ZMQ.S socket ZMQ.In] timeout
case reqState of
ZMQ.In -> Just <$> ZMQ.receive socket flags
_ -> return Nothing
@danieldk
danieldk / gist:3742284
Created September 18, 2012 09:42
Macro AST plus application
{-# LANGUAGE OverloadedStrings #-}
import Control.Monad (guard)
import Data.ByteString.Char8 ()
import qualified Data.ByteString as B
import qualified Data.Map as M
type MacroMap = M.Map B.ByteString Macro
type ArgMap = M.Map B.ByteString B.ByteString
@danieldk
danieldk / fix-gcc-4.7-build.patch
Created September 21, 2012 12:52
Fix DB XML build on gcc 4.7
Index: dbxml-2.5.16/xqilla/src/items/DatatypeFactoryTemplate.hpp
===================================================================
--- dbxml-2.5.16.orig/xqilla/src/items/DatatypeFactoryTemplate.hpp 2010-01-13 16:40:37.000000000 +0100
+++ dbxml-2.5.16/xqilla/src/items/DatatypeFactoryTemplate.hpp 2012-09-09 15:17:49.342211658 +0200
@@ -79,7 +79,7 @@
AnyAtomicType::Ptr createInstance(const XMLCh* value,
const DynamicContext* context) const
{
- return createInstanceNoCheck(DatatypeFactoryTemplate<TYPE>::getPrimitiveTypeURI(),
+ return this->createInstanceNoCheck(DatatypeFactoryTemplate<TYPE>::getPrimitiveTypeURI(),
@danieldk
danieldk / parmap.go
Created October 1, 2012 10:32
Parallel mapping in Go
package parmap
import (
"runtime"
)
type empty struct{}
type semaphore chan empty
@danieldk
danieldk / UnionQP-segfault.diff
Created October 31, 2012 12:15
Fix segfault in UnionQP in DB XML 2.5.16.
--- dbxml-2.5.16.orig/dbxml/src/dbxml/query/UnionQP.cpp
+++ dbxml-2.5.16/dbxml/src/dbxml/query/UnionQP.cpp
@@ -485,13 +485,13 @@ bool UnionIterator::next(DynamicContext
bool UnionIterator::seek(int container, const DocID &did, const NsNid &nid, DynamicContext *context)
{
- if((next_ & LEFT) || (left_ && isSameNID(left_, container, did, nid) < 0)) {
+ if((next_ & LEFT && left_) || (left_ && isSameNID(left_, container, did, nid) < 0)) {
if(!left_->seek(container, did, nid, context)) {
delete left_;
@danieldk
danieldk / gist:4761571
Created February 12, 2013 10:59
Avoid name collision with __atomic_compare_exchange.
--- db-4.8.26/dbinc/atomic.h.orig 2013-02-12 11:47:58.000000000 +0100
+++ db-4.8.26/dbinc/atomic.h 2013-02-12 11:49:24.000000000 +0100
@@ -144,7 +144,7 @@
#define atomic_inc(env, p) __atomic_inc(p)
#define atomic_dec(env, p) __atomic_dec(p)
#define atomic_compare_exchange(env, p, o, n) \
- __atomic_compare_exchange((p), (o), (n))
+ __db_atomic_compare_exchange((p), (o), (n))
static inline int __atomic_inc(db_atomic_t *p)
{
@danieldk
danieldk / gist:5700533
Created June 3, 2013 19:12
Berkeley DB 4.8 patch for compilers that have __atomic_compare_exchange.
Binary files dbxml-2.5.16.orig/db-4.8.26/dbinc/.atomic.h.un~ and dbxml-2.5.16/db-4.8.26/dbinc/.atomic.h.un~ differ
diff -ruN dbxml-2.5.16.orig/db-4.8.26/dbinc/atomic.h dbxml-2.5.16/db-4.8.26/dbinc/atomic.h
--- dbxml-2.5.16.orig/db-4.8.26/dbinc/atomic.h 2013-06-03 21:04:07.000000000 +0200
+++ dbxml-2.5.16/db-4.8.26/dbinc/atomic.h 2013-06-03 21:10:53.000000000 +0200
@@ -144,7 +144,7 @@
#define atomic_inc(env, p) __atomic_inc(p)
#define atomic_dec(env, p) __atomic_dec(p)
#define atomic_compare_exchange(env, p, o, n) \
- __atomic_compare_exchange((p), (o), (n))
+ __atomic_compare_exchange_db((p), (o), (n))
package de.tuebingen.uni.sfs.clarind.jesque.listeners;
import com.google.common.base.Preconditions;
import net.greghaines.jesque.Job;
import net.greghaines.jesque.utils.JedisUtils;
import net.greghaines.jesque.worker.Worker;
import net.greghaines.jesque.worker.WorkerEvent;
import net.greghaines.jesque.worker.WorkerListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;