Skip to content

Instantly share code, notes, and snippets.

View Ovid's full-sized avatar

Ovid Ovid

View GitHub Profile
@Ovid
Ovid / cor.md
Last active September 12, 2021 08:02
Cor—A minimal object system for the Perl core

NAME

Cor — A minimal OO proposal for the Perl core

VERSION

This is version 0.10 of this document.

AUTHOR

@Ovid
Ovid / date.pl
Created August 27, 2019 13:45
Partial desription of a date matching regex
#!/usr/bin/env perl
use Test::Most;
use Veure::Script; # strict, warnings, postderef, sigs, and more
use re 'eval'; # needed for (??{}) in the regex
# the (??{}) construct will execute code and consider the result of that
# to be a regex to match on.
my $yyyy_mm_dd = qr/
^
# any four digit year

Keybase proof

I hereby claim:

  • I am ovid on github.
  • I am ovidperl (https://keybase.io/ovidperl) on keybase.
  • I have a public key ASDsbYunRavQwS2b6ZR7TER9LwNC4YtX7oDIqaGPu6URwAo

To claim this, I am signing this object:

@Ovid
Ovid / lrutest.p6
Last active July 24, 2018 20:59
Sample LRU cache in Perl 6?
# Turns out this doesn't work because OrderedHash
# is sorted, not ordered
class Cache::LRU {
use OrderedHash;
has %.cache = {} does OrderedHash;
has UInt $.max_size = 20;
method get($key) {
return %.cache{$key};
}
#!/usr/bin/env perl
# This program constantly prints the time in GCT (Galactic Coordinated Time)
# as used in the MMORPG Tau Station (https://taustation.space/)
# Obviously, we use something a bit more sophisticated than this :)
use strict;
use warnings;
use Time::HiRes 'sleep';
$|++; # unbuffer STDOUT
@Ovid
Ovid / git-refresh.sh
Created August 4, 2017 13:18
git-refresh
#!/bin/bash
# vim: filetype=sh
set -e # exit if any command fails
prog=$(basename $0)
branch=$(git rev-parse --abbrev-ref HEAD)
need_to_stash=$(git status --porcelain -uno)
@Ovid
Ovid / livejournal.pl
Created March 28, 2017 12:05
Backup your old, dead LiveJournal entries
#!/usr/bin/env perl
use 5.18.0;
use warnings;
use autodie ":all";
use LWP::UserAgent;
use HTTP::Request::Common;
use HTML::TokeParser::Simple;
my $login_url = 'https://www.livejournal.com/login.bml?ret=1';
@Ovid
Ovid / .perldb
Last active July 5, 2022 15:50
My debugger file
package Ovids::Debugger;
# vim: syntax=perl
=head1 NAME
.perldb - Customize your Perl debugger
=head1 USAGE
@Ovid
Ovid / tweets.pl
Last active January 6, 2017 09:12
Multi-line tweets from the command line
#!/usr/bin/env perl
use Modern::Perl;
use Net::Twitter;
use Config::Tiny;
use File::HomeDir;
use utf8::all;
use Text::Wrap;
use Term::ANSIColor;
use autodie ':all';
@Ovid
Ovid / exercise-rot-reader.go
Created December 23, 2016 10:47
Rot13 in golang (exercise from tour)
package main
import (
"io"
"os"
"strings"
)
type rot13Reader struct {
reader io.Reader