Skip to content

Instantly share code, notes, and snippets.

View SeanTAllen's full-sized avatar
🐴
Seriouspony

Sean T Allen SeanTAllen

🐴
Seriouspony
View GitHub Profile
task:
only_if: $CIRRUS_CRON == "master-midnight"
matrix:
- name: "nightly: x86-64-unknown-linux-gnu"
container:
image: ponylang/ponyc-ci-x86-64-unknown-linux-gnu-builder:20200423
environment:
CACHE_BUSTER: 20200423
TRIPLE_VENDOR: unknown
@SeanTAllen
SeanTAllen / gist:2a03bb991e106c736d63770b4c7680a9
Last active August 7, 2019 00:02
Proposal to change how we organize Ponylang CI related docker images
# CI image overview problem
This is based on a number of problems I've seen with the adhoc system we've developed.
In general right now, everthing is of the form:
- ponylang/ponyc-ci:shellcheck.
The is problematic when we need to make breaking changes to an image, for example to remove SSL.
When I did that, once the images were updated, all existing jobs for one PRs etc would break. I

Overview

Move responsibility for building documentation hosted on main.actor from main.actor to library maintainers.

Current Architecture

At the moment, main.actor is responsible for building documentation for "hosted" packages. This raises some issues:

  • Documentation builds can only handle known archetypes
  • Allowing for ways to handle these can open up security concerns where we run arbitrary code in an environment that has write access to Ponylang repos.
@SeanTAllen
SeanTAllen / keybase.md
Created February 11, 2017 04:04
keybase.md

Keybase proof

I hereby claim:

  • I am seantallen on github.
  • I am seantallen (https://keybase.io/seantallen) on keybase.
  • I have a public key ASCWSGCvljzXhdAuRBL0vAt2Jq_bUAEnIT4TjpU6hTFvXwo

To claim this, I am signing this object:

@SeanTAllen
SeanTAllen / oa.pony
Created May 19, 2016 03:32
Pony Solution to the Expression Problem Using Object Algebras see http://i.cs.hku.hk/~bruno/oa/ for more info
// Initial object algebra interface for expressions: integers and addition
interface ExpAlg[E]
fun lit(x: I32): E
fun add(e1: E, e2: E): E
// An object algebra implementing that interface (evaluation)
// The evaluation interface
interface Eval
fun eval(): I32
@SeanTAllen
SeanTAllen / oa.pony
Created May 18, 2016 17:01
Pony Solution to the Expression Problem Using Object Algebras see http://i.cs.hku.hk/~bruno/oa/ for more info
interface ExpAlg[E]
fun lit(x: I32): E
fun add(e1: E, e2: E): E
interface Eval
fun eval(): I32
interface EvalExpAlg
fun lit(x: I32): Eval val =>
recover
use "random"
use "collections"
class CreationFactory
let _desired: String
new create(d: String) =>
_desired = d
fun apply(c: String): Creation =>
@SeanTAllen
SeanTAllen / weird.md
Last active April 5, 2016 11:41
This is one of the weirder bugs I've ever seen

I found a bug that only appears based on file name. If the filename starts with u-z or U-Z, no bug.

➜  y ponyc
Building builtin -> /usr/local/lib/pony/0.2.1-748-gf504469/packages/builtin
Building . -> /Users/sean/Private/Code/pony/y
Building ponytest -> /usr/local/lib/pony/0.2.1-748-gf504469/packages/ponytest
Building time -> /usr/local/lib/pony/0.2.1-748-gf504469/packages/time
Building collections -> /usr/local/lib/pony/0.2.1-748-gf504469/packages/collections
Building promises -> /usr/local/lib/pony/0.2.1-748-gf504469/packages/promises
@SeanTAllen
SeanTAllen / gist:6b47d41113ab3acdab6d
Last active May 9, 2018 20:15
Online whiteboard solutions
I asked on twitter for online whiteboard solutions. These are some of the
ones that were suggested. There's a few that I managed to check out
quickly and got rid of the links without thinking that I might want
them for posterity. This is what I had left. Know of others? Please
add in comments.
http://smartkapp.com/en/products/kapp?gclid=CKWCvvi8hMgCFQuLaQodAU0KnQ
https://awwapp.com
https://realtimeboard.com
http://webwhiteboard.com/#/
@SeanTAllen
SeanTAllen / gist:7cbb72339806f3decee2
Last active October 7, 2015 22:53
The Tech "People" Bookclub
Here's the idea,
You work in tech. You're in the NYC area.
You care about "people" issues. You think the hardest problem in computing is "people".
You are interested in how we work. How to structure work. How to work together.
How to help your colleagues succeed.
And...
There's so much to learn: