Skip to content

Instantly share code, notes, and snippets.

@vividsnow
vividsnow / test.pl
Created December 29, 2011 22:52
cdaweb CDF to PDL
#perl
use strict;
use warnings;
use feature 'say';
use CDF;
use PDL;
use Data::Dumper 'Dumper';
my ($id, @out);
@vividsnow
vividsnow / test.pl
Last active October 1, 2015 11:48
simple PDL cmp OpenGL::Array performance for glBufferDataARB_p
use v5.14;
use OpenGL qw(:all);
use PDL;
use Time::HiRes qw(gettimeofday tv_interval);
my $o1 = OpenGL::Array->new_list(GL_FLOAT, map $_/40, (1..400));
my $o2 = OpenGL::Array->new_list(GL_FLOAT, map $_/40, (1..400));
my $p1 = pdl(float, map $_/40, (1..400))->reshape(20,20);
my $p2 = pdl(float, map $_/40, (1..400))->reshape(20,20);
@vividsnow
vividsnow / sctweets.pl
Created May 15, 2012 23:52
recent supercollider tweets
#!/bin/env perl
use v5.12;
use HTTP::Tiny();
use JSON::XS();
use Try::Tiny;
use HTML::Entities 'decode_entities';
my @search_words = ('#supercollider', '#sc140', '#sc', qw(
Ndef Tdef Pbind SinOsc PMOsc LFSaw LFPulse Splay Pan2 LFNoise0 LFNoise1 LFNoise2 LFCub LFPar
LFTri Drand Ringz Dshuf Decay2 DelayN DelayL DelayC CombC GVerb FreeVerb VarSaw DynKlank DynKlang
@vividsnow
vividsnow / scratch.pl
Created May 17, 2013 00:02
random stuff from live coding session using https://github.com/vividsnow/perl-live
# some handy modules to print things
use Data::Dump 'dd';
use DDP colored => 1, filters => { -external => [ 'PDL' ] };
dd my $h = bless { a => 1 }, 'test';
p $h
# ok - lets test scoping
say my $v = 0;
@vividsnow
vividsnow / pdfshot.pl
Last active December 24, 2015 01:19
perl html to pdf printer using gtk3 bindings
# example usage: xvfb-run -a -s '-screen 0, 34x34x24' perl pdfshot.pl OUTFILE URL [ WAIT]
use v5.16;
use Gtk3 -init;
use Gtk3::WebKit;
(my $view = Gtk3::WebKit::WebView->new)->set_transparent(Glib::FALSE);
(my $window = Gtk3::OffscreenWindow->new)->add($view);
$view->signal_connect('notify::load-status' => sub { if ($view->get_uri && $view->get_load_status eq 'finished') {
Glib::Timeout->add( $ARGV[2] // 5, sub {
$view->get_main_frame->print_full((map {
@vividsnow
vividsnow / rounded.pl
Created July 27, 2017 16:31
imager rounded corner mask with transparency
sub rounded_mask {
my ($img, $rad) = @_;
state $ss = 4; # subsample smooth
my $srad = int $rad*$ss;
my $corner = Imager->new(xsize => $srad, ysize => $srad, channels => 1)
->arc(qw'x 0 y 0 d1 0 d2 90', r => $srad - $ss/2)
->scale(scalefactor => 1/$ss);
my ($w, $h) = ($img->getwidth, $img->getheight);
my $mask = Imager->new(xsize => $w, ysize => $h, channels => 1);
$mask->box(box => [$rad, 0, $w - 1 - $rad, $h - 1], filled => 1);
@vividsnow
vividsnow / torium.pl
Last active October 9, 2017 16:04
multiple tor runner
use strict; use warnings;
use File::Temp qw'tempfile tempdir'; use File::Spec::Functions 'catfile';
use Symbol 'geniosym'; use Socket; use Net::EmptyPort 'empty_port'; use Getopt::Std;
my %in = (qw'h 127.0.0.1 p 5498 n 4'); getopts('p:n:', \%in);
print "torium[$$] listens $in{p}\n";
my @children;
@vividsnow
vividsnow / desktop-load-theme.el
Created May 27, 2015 17:13
emacs load-theme desktop-mode
(desktop-save-mode)
(add-to-list 'desktop-globals-to-save 'custom-enabled-themes)
(defun desktop-load-theme () "load custom theme" (interactive)
(dolist (th custom-enabled-themes) (load-theme th)))
(add-hook 'desktop-after-read-hook 'desktop-load-theme)
@vividsnow
vividsnow / debootstrap.md
Created June 26, 2018 21:07 — forked from tr3buchet/debootstrap.md
debian usb debootstrap

make sure any needed utilities are installed

sudo aptitude install debootstrap coreutils util-linux e2fsprogs

get usb device

df -h
Use of uninitialized value in substitution (s///) at /home/f2r/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/PocketIO/Message.pm line 55.
Use of uninitialized value in string eq at /home/f2r/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/PocketIO/Message.pm line 66.
Use of uninitialized value in string eq at /home/f2r/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/PocketIO/Message.pm line 66.
Use of uninitialized value in hash element at /home/f2r/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/PocketIO/Message.pm line 87.
Use of uninitialized value in string eq at /home/f2r/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/PocketIO/Message.pm line 90.
Use of uninitialized value in string eq at /home/f2r/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/PocketIO/Message.pm line 93.
Use of uninitialized value in string eq at /home/f2r/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/PocketIO/Message.pm line 93.
Use of uninitialized value in string eq at /home/f2r/perl5/