Skip to content

Instantly share code, notes, and snippets.

View wedesoft's full-sized avatar

Jan Wedekind wedesoft

View GitHub Profile
@wedesoft
wedesoft / amazed.jpg
Last active August 29, 2015 14:03 — forked from staltz/introrx.md
amazed.jpg
@wedesoft
wedesoft / int-to-byte.scm
Created June 18, 2015 12:05
Convert integer array to byte array
(use-modules (oop goops) (aiscm element) (aiscm int) (aiscm sequence) (aiscm op) (srfi srfi-26))
(define s (to-type (list->multiarray '(2 3 5 7)) <int>))
(make (to-type (class-of s) <byte>) #:shape (shape s) #:value (get-value s) #:strides (map (cut * 4 <>) (strides s)))
@wedesoft
wedesoft / task.rb
Last active August 29, 2015 14:23
Background task in Ruby
#!/usr/bin/env ruby
def task n
result = 0
for i in 1 ... n
result += i
sleep 0.01
end
result
end
t = Thread.new 100, &method(:task)
@wedesoft
wedesoft / grid.rb
Created September 26, 2011 00:02
Chequerboard Corner Detection
require 'rubygems'
require 'hornetseye_ffmpeg'
require 'hornetseye_xorg'
include Hornetseye
class Node
def nms(threshold)
self >= dilate.major(threshold)
end
def have(n, corners)
hist = mask(corners).histogram max + 1
@wedesoft
wedesoft / INSTALL
Created November 18, 2011 15:36
Installation information for hornetseye-kinect, hornetseye-xorg, and hornetseye-frame, multiarray, and malloc on Mac OS X
Regarding the installation, the Ruby Gems hornetseye-kinect,
hornetseye-frame, multiarray, and malloc are required [1]. It is also
recommended to install hornetseye-xorg for displaying windows with Ruby.
XCode and Ruby already were installed. There was an issue with Rubygems
though [2].
One needs to install MacPorts [3] and configure it to build universal
binaries [4].
[5] explains how to install git, cmake, and libfreenect. Note that you
need to build universal binaries of libfreenect according to [6]. Also libfreenect
requires the jpeg libraries to be installed:
@wedesoft
wedesoft / clipboard.rb
Created July 27, 2012 14:12
Qt4 Clipboard
#!/usr/bin/env ruby
require 'rubygems'
require 'Qt4'
class Test < Qt::Widget
def keyPressEvent(e)
if e.modifiers == Qt::ControlModifier
mimeData = $qApp.clipboard.mimeData
case e.key
when Qt::Key_C
puts 'copy!'
@wedesoft
wedesoft / workshop.rb
Created October 8, 2015 12:40
Count bright pixels
#!/usr/bin/env ruby
require 'hornetseye_rmagick'
require 'hornetseye_xorg'
include Hornetseye
img = MultiArray.load_ubyte 'http://www.shu.ac.uk/research/meri/sites/shu.ac.uk/files/Fabio2%20case%20study.jpg'
sparks = (img >= 200).to_ubyte.sum
puts "about #{sparks} sparkly pixels"
puts "your milling tool is toast" if sparks >= 200
@wedesoft
wedesoft / file_reference_url.mm
Created July 31, 2012 11:20
Convert weird Mac OS file reference URL to a POSIX path
#import <Foundation/Foundation.h>
#import <Foundation/NSUrl.h>
#import <Foundation/NSString.h>
// file_reference_url.mm: convert weird Mac OS file reference URL to a file URL
// Compilation:
// gcc -o file_reference_url file_reference_url.mm -framework Cocoa
// Example:
// ./file_reference_url file:///.file/id=6571367.15106761
@wedesoft
wedesoft / figshare.rb
Last active December 18, 2015 21:39
Get application access token and upload file to FigShare.com
#!/usr/bin/env ruby
require 'net/http'
require 'net/http/post/multipart'
require 'mime/types'
require 'oauth'
require 'json'
require 'yaml'
require 'launchy'
AUTH_FILE = 'figshare.yaml'
@wedesoft
wedesoft / AddToPath.nsh
Last active December 22, 2015 16:09
NSIS script for creating Qt4-QtRuby installer
;----------------------------------------
; based upon a script of "Written by KiCHiK 2003-01-18 05:57:02"
;----------------------------------------
!verbose 3
!include "WinMessages.NSH"
!verbose 4
;====================================================
; get_NT_environment
; Returns: the selected environment
; Output : head of the stack