Skip to content

Instantly share code, notes, and snippets.

@Ondra09
Ondra09 / gist:ec439223b8ceea887e32dedea211c7e3
Created December 14, 2017 19:20
Racket send notification dbus
#lang racket
(module+ main
(require dbus
dbus/interface)
(parameterize ((current-dbus-connection (dbus-connect-session-bus)))
(define m (dbus-manager))
(define unique-name (send m Hello)) ;; the connection's "unique name"
#define GEN_ENUM_ROW(Enum) Enum,
#define EMIT_ENUM(NAME) \
enum NAME{\
X_NUMBERS(GEN_ENUM_ROW)\
NAME##_LAST\
};
#define GEN_STING_ROW(String) (char*)#String,
@Ondra09
Ondra09 / finalizerEx.fs
Last active July 4, 2022 22:30
F# finalizing + dispose template
// taken from: http://stackoverflow.com/questions/5676791/f-equivalent-of-destructor
// great answer how this works: http://stackoverflow.com/questions/538060/proper-use-of-the-idisposable-interface
namespace FSharp.Library
type MyClass() as self =
let mutable disposed = false;
// TODO define your variables including disposable objects
@Ondra09
Ondra09 / gist:247285108acf8760afb1
Created September 24, 2014 11:09
Variadic Template function with alias to variable
#!/usr/bin/env rdmd
// Computes average line length for standard input.
import std.stdio;
import std.random;
void TemplateVariadicAlias(T...)(string a)
{
ulong lines = 0;
double sumLength = 0;
foreach (line; stdin.byLine())
@Ondra09
Ondra09 / readbinaryStruct.d
Last active December 17, 2015 09:48
reads a chunk from binary file
import std.stdio;
//import std.file;
struct DummyStruct
{
int a;
double b;
bool c;
};
@Ondra09
Ondra09 / iplImageInit.cpp
Created October 30, 2012 09:18
OpenCV create iplImage header from buffer
CvSize size;
size.width = limitWidth;
size.height = limitHeight;
IplImage* lights_image_p;
lights_image_p = cvCreateImageHeader(size, IPL_DEPTH_8U, 1);
lights_image_p->imageData = (char*)scene.bmp.elems;
lights_image_p->imageDataOrigin = ipl_image_p->imageData;
@Ondra09
Ondra09 / txtreadbyline.d
Created October 8, 2012 06:34
read text file by line
import std.stdio;
import std.conv;
import std.string;
void main (string[] args)
{
if (args.length < 2)
return;