Skip to content

Instantly share code, notes, and snippets.

Philip Jander janderit

  • Wunder Mobility, Jander.IT
  • Hamburg, Germany
Block or report user

Report or block janderit

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
janderit / gist:4564158
Last active Dec 11, 2015
My favourite collection extenders...
View gist:4564158
public static class CollectionExtender
public static IEnumerable<string> NonBlank(this IEnumerable<string> list)
return list.Where(_ => !String.IsNullOrWhiteSpace(_));
public static IEnumerable<T> NonNull<T>(this IEnumerable<T> list) where T:class
return list.Where(_ => null != (object) _);
janderit / gist:4031154
Created Nov 7, 2012
View gist:4031154
namespace Target.Sicherheit
public enum Entitaeten
public enum Rechte
janderit / gist:3961698
Created Oct 26, 2012
Closures, commandhandlers und co
View gist:3961698
class EventStore{
void Save(Guid commandId, Event[] events);
class EventPublisher{
void Save(Guid senderSession, Event[] events);
janderit / kata_fluent_dsl_csharp.txt
Created Sep 20, 2012
Kata: Fluent DSL Builder Pattern in c#
View kata_fluent_dsl_csharp.txt
Kata: Fluent DSL Builder Pattern in c#
Es sollen SQL-artige Connectionstrings
des Musters
durch eine Fluent Konfigurationssprache erstellt werden.
janderit / JSON.patch
Created Sep 18, 2012
Patch fixing concurrency bug in fastJSON 2.0.5
View JSON.patch
diff --git a/fastJSON/JSON.cs b/fastJSON/JSON.cs
index d2f651e..0915fc1 100644
--- a/fastJSON/JSON.cs
+++ b/fastJSON/JSON.cs
@@ -64,7 +64,17 @@ namespace fastJSON
public sealed class JSON
- public readonly static JSON Instance = new JSON();
+ [ThreadStatic]
janderit / Concurrency_bug_in_2_0_5.cs
Created Sep 18, 2012
Test for (absence of) concurrency bug in fastJson. Fails with 2.0.5
View Concurrency_bug_in_2_0_5.cs
using System;
using System.Diagnostics;
using System.Threading;
using NUnit.Framework;
using fastJSON;
namespace UnitTests
internal class Concurrency_bug_in_2_0_5
janderit / gist:3691683
Created Sep 10, 2012
Example zeromq usage
View gist:3691683
public sealed class ZmqEventServer
public ZmqEventServer(ZmqPollPool pool, NetworkAddress broadcastAddress, NetworkAddress listenAddress)
if (!listenAddress.IsBindable) throw new ArgumentException("listen address must be bindable (i.e. IP address instead of DNS name)");
ZmqSocket broadcast=null;
var broadcastAddr = broadcastAddress.String;
var listenAddr = listenAddress.String;
janderit / ZmqPollPool.cs
Created Sep 10, 2012
ZeroMQ 3.2 Single threaded container
View ZmqPollPool.cs
/// <summary>
/// Encapsulates a zeroMQ context and a worker thread.
/// Use the ZmqPollPool to server multiple 0mq sockets with single-threaded semantics.
/// Use MarshalAndWait or MarshalAsync to marshal 0mq context access to the working thread.
/// Call Dispose to close all registered sockets and terminate the context and thread.
/// </summary>
public class ZmqPollPool : IDisposable
private TimeSpan _pollTimeout;
janderit / gist:3283001
Created Aug 7, 2012
Dataprovider/code generation
View gist:3283001
public static ModulKonfigurator EntlassungsantragReporting(this ModulKonfigurator cfg)
cfg.AttachDataproviderToViewmodel("EntlassungBeantragenViewmodel", "VM:Entlassungsantrag")
.Provide("Antragsdaten", "Antragsdaten zum Entlassungsantrag")
.Datenspalte("Stichtag", "01.01.2000", "Stichtag der Entlassung")
.Datenspalte("Grund", "Ablauf der Förderhöchstdauer", "Grund der Entlassung")
.Datenspalte("Aufnahme", "01.01.2000", "Aufnahmedatum des ersten Kindes")
janderit / gist:3237207
Created Aug 2, 2012
View gist:3237207
public interface IProvideData
bool Provides(string key);
string Key { get; }
string Description { get; }
string Target { get; }
DatenTabelle DesignData();
DatenTabelle DemoData();
You can’t perform that action at this time.