0

Pages are deceptive. Live life in a basket.

MrBeast is Postmodern Gold - Christine Dodrill

Christine Dodrill - Blog - Contact - Resume - Talks | GraphViz - When Then Zen Author’s note: I’ve been going through a lot lately. This Monday I was in the emergency room after having a panic attack. I have a folder of writing in my notes that I use to help work off steam. I don’t know why, but writing this article really helped me feel better. I can only hope it helps make your day feel better too. The year is 2019. Politicians have fallen asleep at the wheel. Capitalism controls large segments of the hearts and minds of the populace. Social class is increasingly only a construct. Popularity is becoming irrelevant. Money has no value. The ultimate expendability of entire groups of people is as obvious as the sunrise and sunset. Nothing feels real. There’s no real reason for people to get up and continue, yet life goes on. Somehow, even after a decade of aid and memes, childr...

Linked on 2019-06-06 16:30:14 | Similar Links
Xe
TempleOS: 1 - Installation - Christine Dodrill

Christine Dodrill - Blog - Contact - Resume | GraphViz - When Then Zen TempleOS is a public domain, open source (requires source code to boot) multitasking OS for amd64 processors without EFI support. It’s fully cooperatively multitasked and all code runs in Ring 0 . This means that system calls that normally require a context switch are just normal function calls. All ram is identity-mapped too, so sharing memory between tasks is as easy as passing a pointer. There’s a locking intrinsyc too. It has full documentation (with graphical diagrams) embedded directly in source code. This is outsider art. The artist of this art, Terry A. Davis (1969-2018, RIP), had very poor mental health before he was struck by a train and died. I hope he is at peace. However, in direct spite of this, I believe that TempleOS has immediately applicable lessons to teach about OS and compiler design....

Linked on 2019-05-20 10:41:23 | Similar Links
Xe
vanbi - Christine Dodrill

Christine Dodrill - Blog - Contact - Resume – import "vanbi" Package vanbi defines the Vanbi type, which carries temcis, sisti signals, and other request-scoped meknaus across API boundaries and between processes. Incoming requests to a server should create a Vanbi, and outgoing calls to servers should accept a Vanbi. The chain of function calls between them must propagate the Vanbi, optionally replacing it with a derived Vanbi created using WithSisti, WithTemci, WithTemtcu, or WithMeknau. When a Vanbi is sistied, all Vanbis derived from it are also sistied. The WithSisti, WithTemci, and WithTemtcu functions take a Vanbi (the ropjar) and return a derived Vanbi (the child) and a SistiFunc. Calling the SistiFunc sistis the child and its children, removes the ropjar’s reference to the child, and stops any associated rilkefs. Failing to call the SistiFunc leaks the child and it...

Linked on 2019-01-08 18:02:13 | Similar Links
Xe
Ten Thousand Laughs - Christine Dodrill

Christine Dodrill - Blog - Contact - Resume pemci zo'e la xades ni'o pano ki'o nu cmila .i cmila cei broda .i ke broda jo'u broda jo'u broda jo'u broda jo'u broda jo'u broda jo'u broda jo'u broda jo'u broda jo'u broda ke'e cei brode .i ke brode jo'u brode jo'u brode jo'u brode jo'u brode jo'u brode jo'u brode jo'u brode jo'u brode jo'u brode ke'e cei brodi .i ke brodi jo'u brodi jo'u brodi jo'u brodi jo'u brodi jo'u brodi jo'u brodi jo'u brodi jo'u brodi jo'u brodi ke'e cei brodo .i ke brodo jo'u brodo jo'u brodo jo'u brodo jo'u brodo jo'u brodo jo'u brodo jo'u brodo jo'u brodo jo'u brodo ke'e cei brodu .i mi brodu This is a synthesis of the broda family of gismu in Lojban. In order to properly understand this lojban text, you must conceive laughter ten thousand times. This is a reference to the Billion laughs attack that XML parsers can suffer from. Transla...

Linked on 2018-12-17 18:38:58 | Similar Links
Xe
Go Interfaces Considered Harmful - Christine Dodrill

oh fuck

Christine Dodrill - Blog - Contact - Resume A group of blind men heard that a strange animal had been brought to the town function, but none of them were aware of its type. package blindmen type Animal interface{} func Town(strangeAnimal Animal) { Out of curiosity, they said: “We must inspect and know it by type switches and touch, of which we are capable”. type Toucher interface { Touch() interface{} } So, they sought it out, and when they found it they groped about it. for man := range make([]struct{}, 6) { go grope(man, strangeAnimal.(Toucher).Touch()) } In the case of the first person, whose hand landed on the trunk, said “This being is like a thick snake”. type Snaker interface { Snake() } func grope(id int, thing interface{}) { switch thing.(type) { case Snaker: log.Printf("man %d: this thing is like a thick snake", id) For another one whose hand ...

Linked on 2018-12-03 21:22:59 | Similar Links
Xe
Christine Dodrill

Christine Dodrill - Blog - Contact - Resume Contact Me Skills Go, Lua, Nim, Haskell, C, Python (3.x) and other languages Docker (deployment, development & more) Mashups of data Package maintainer for Alpine Linux Highlighted Projects PonyAPI - My Little Pony: Friendship is Magic Episode information API Aura - PonyvilleFM live DJ recording bot Elemental-IRCd - IRC Server Software This website - The backend and templates for this website Copyright 2017 Christine Dodrill. Any and all opinions listed here are my own and not representative of my employer. ...

Linked on 2017-05-21 14:48:18 | Similar Links
The Origin of h - Christine Dodrill

Toggle navigation Christine Dodrill Blog Projects Resume Contact For a while I have been pepetuating a small joke between my friends, co-workers and community members of various communities (whether or not this has been beneficial or harmful is out of the scope of this post). The whole "joke" is that someone says "h", another person says "h" back. That's it. This has turned into a large scale game for people, and is teachable to people with minimal explanation. Most of the time I have taught it to people by literally saying "h" to them until they say "h" back. An example: <Person> Oh hi there <Xena> h <Person> ??? <Xena> Person: h <Person> i <Xena> Person: <Xena> h <Person> h <Xena> :D This all started on a particularly boring day when we found a video by motdef with gameplay from Moonbase Alpha , an otherwise boring game made to help educate people on what would go on wh...

Linked on 2016-01-29 23:18:49 | Similar Links
Readme for christine.website - Christine Dodrill

Toggle navigation Christine Dodrill Blog Projects Resume Contact Find out more at Github . Language Percentage Nginx 3.82% MoonScript 82.57% CSS 9.52% HTML 0.15% Makefile 1.23% Shell 2.72% "It's faster than PHP" This is intended as my portfolio site or the like. This is a site made with lapis and deployed on a server running dokku-alt and runs inside the docker-lapis container. It also has a copy of OlegDB running to cache API requests from GitHub. This cache is cleared on every deploy, as well as keys expiring after 6 hours. Copyright (C) 2015 Christine Dodrill <me@christine.website> All rights reserved. This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, ...

Linked on 2016-01-27 17:31:24 | Similar Links
Christine Dodrill

uses olegdb caching heavily

Toggle navigation Christine Dodrill Blog Projects Resume Contact Contact Me I am a GitHub power user. I am constantly learning new languages and tools. I strongly believe in knowing many languages and ways to do things so I can pick the right tool for the job. Go, Moonscript, Lua, Python, C, Nim, Haskell Docker deployments git -centric project management Research and Development for new ways to do things Programming, administration and orchestration of complicated, multi-tenant IRC networks. Mitigation of active attacks against IRC networks and creation of sane tools to make future mitigation easier Design and implementation of next generation services and administrative tools for IRC networks Research and development of new container-based scalable deployment systems Christine Dodrill - 2016 - revision e4c2c3dca9d3...

Linked on 2016-01-27 17:27:11 | Similar Links
Matrix Has U - Christine Dodrill

Toggle navigation Christine Dodrill Blog Projects Resume Contact As a lot of people close to me know, I am a very avid IRC user. I like the simplicity of IRC and how easy it is to set up your own node. I like how the protocol is easily scriptable for and think that a lot of the extensions are well thought out and useful. That being said, a lot about the protocol is absolute garbage. It is poorly understood by nearly all but the most sophisticated developers and a lot of companies that offer IRC gateways to things half-ass it. Not to mention of course the other core problem that ircd in 2015 acts the same way as ircd in 2005 did. Every time your TCP socket to the server dies, your session is deleted and you need to start over from scratch. Bouncers basically just make it harder for the TCP socket to die by having another server with a (hopefully) more stable connection keep your IRC so...

Linked on 2015-12-08 18:56:32 | Similar Links
Xe
Christine Dodrill's Blog

My blog posts and rants about various technology things. <p><a href="https://github.com/tailhook/vagga">Vagga</a> is a containerization tool like Docker, Rocket, etc but with one major goal that is highly ambitious and really worth mentioning. Its goal is to be a single userspace binary without a suid bit or a daemon running as root.</p> <p>However, the way it does this seems to be highly opinionated and there are some things which annoy me. Let's go over the basics:</p> <h2 id="All.Vagga.Images.Are.Local.To.The.Project">All Vagga Images Are Local To The Project</h2> <p>There is no "global vagga cache". Every time I want to make a new project folder with an ubuntu image I have to wait the ~15 minutes it takes for Ubuntu to download on my connection (Comcast). As such I've been forced to use Alpine.</p> <h2 id="No.Easy.Way.To.Establish.Inheritance.From.Common.Code">No Easy Way To Est...

Linked on 2015-11-11 01:42:29 | Similar Links
Xe
Cache view: blogposts -> the-universal-design-2015-10-17 - Christine Dodrill

Toggle navigation Christine Dodrill Blog Projects Resume Contact <p>As I have been digging through existing code, systems and the like I have been wondering what the next big direction I should go in is. How to design things such that the mistakes of the past are avoided, but you can benefit from them and learn better how to avoid them. I have come to a very simple conclusion, monoliths are too fragile.</p> <h2 id="Deconstructing.Monoliths">Deconstructing Monoliths</h2> <p>One monolith I have been maintaining is <a href="http://elemental-ircd.com">Elemental-IRCd</a>. Taking the head of a project I care about has taught me more about software engineering, community/project management and the like than I would have gotten otherwise. One of these things is that there need to be five basic primitives in your application:</p> <ol> <li>State - What is true now? What was true? What happened...

Linked on 2015-10-17 22:38:03 | Similar Links
Xe
The Universal Design - Christine Dodrill

Toggle navigation Christine Dodrill Blog Projects Resume Contact As I have been digging through existing code, systems and the like I have been wondering what the next big direction I should go in is. How to design things such that the mistakes of the past are avoided, but you can benefit from them and learn better how to avoid them. I have come to a very simple conclusion, monoliths are too fragile. One monolith I have been maintaining is Elemental-IRCd . Taking the head of a project I care about has taught me more about software engineering, community/project management and the like than I would have gotten otherwise. One of these things is that there need to be five basic primitives in your application: State - What is true now? What was true? What happened in the past? What is the persistent view of the world? Events - What is being changed? How will it be routed? Policy - Can...

Linked on 2015-10-17 14:49:29 | Similar Links
Xe
Christine Dodrill

https://christine.website/cache/caches/index

Toggle navigation Christine Dodrill Blog Projects Resume Contact Contact Me I am a GitHub power user. I am constantly learning new languages and tools. I strongly believe in knowing many languages and ways to do things so I can pick the right tool for the job. Go, Moonscript, Lua, Python, C, Nim, Haskell Docker deployments git -centric project management Research and Development for new ways to do things Programming, administration and orchestration of complicated, multi-tenant IRC networks. Mitigation of active attacks against IRC networks and creation of sane tools to make future mitigation easier Design and implementation of next generation services and administrative tools for IRC networks Research and development of new container-based scalable deployment systems Christine Dodrill - 2015 - revision a8bf2e35dc3a...

Linked on 2015-09-05 14:01:18 | Similar Links
Xe
Metaprogramming: Partial Application and Currying 101 - Christine Dodrill

Toggle navigation Christine Dodrill Blog Projects Resume Contact The title of this post looks intimidating. There's a lot of words there that look like they are very complicated and will take a long time to master. In reality, they are really very simple things. Let's start with a mundane example and work our way up to a real-world bit of code. Let's begin with a small story: ACMECorp has a world-renowned Python application named Itera that is known for its superb handling of basic mathematic functions. It's so well known and industry proven that it is used in every school and on every home computer. You have just accepted a job there as an intermediate programmer set to do maintenance on it. Naturally, you are very excited to peek under the hood of this mysterious and powerful program and offer your input to make it even better for the next release and its users. Upon getting there,...

Linked on 2015-08-27 01:43:40 | Similar Links
Xe
https://christine.website/static/resume/min/resume.md

-> https://christine.website/cache/caches/resume -> https://christine.website/resume

Xe
Cache view: caches -> index - Christine Dodrill

Toggle navigation Christine Dodrill Blog Projects Resume Contact <h2 id="Skills">Skills</h2> <ul> <li>Go, Moonscript, Lua, Python, C, Nim</li> <li>Docker deployments</li> <li><code>git</code>-centric project management</li> <li>Research and Development for new ways to do things</li> </ul> <h2 id="Side.Projects">Side Projects</h2> <ul> <li>Programming, administration and orchestration of complicated, multi-tenant IRC networks.</li> <li>Mitigation of active attacks against IRC networks and creation of sane tools to make future mitigation easier</li> <li>Design and implementation of next generation services and administrative tools for IRC networks</li> <li>Research and development of new container-based scalable deployment systems</li> </ul> Christine Dodrill - 2015 - revision 92275f1444ba...

Linked on 2015-06-24 01:17:38 | Similar Links
Xe
Christine Dodrill

Toggle navigation Christine Dodrill Blog Projects Resume Contact <h1 id="My.Site">My Site</h1> <p>This is intended as my portfolio site or the like. This is a site made with <a href="http://leafo.net/lapis">lapis</a> and deployed on a server running <a href="https://github.com/dokku-alt/dokku-alt">dokku-alt</a> and runs inside the <a href="https://github.com/Xe/docker-lapis">docker-lapis</a> container. It also has a copy of <a href="http://olegdb.org">OlegDB</a> running to cache API requests from GitHub. This cache is cleared on every deploy, as well as keys expiring after 6 hours.</p> <h2 id="License">License</h2> <pre><code>Copyright (C) 2015 Christine Dodrill &lt;me@christine.website&gt; All rights reserved. This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software....

Linked on 2015-06-24 01:14:36 | Similar Links
Xe
Christine Dodrill

Toggle navigation Christine Dodrill Blog Projects Resume Contact Contact Me I am a GitHub power user. I am constantly learning new languages and tools. I strongly believe in knowing many languages and ways to do things so I can pick the right tool for the job. Go, Moonscript, Lua, Python, PHP, C Docker deployments git -centric project management Research and Development for new ways to do things Programming, administration and orchestration of complicated, multi-tenant IRC networks. Mitigation of active attacks against IRC networks and creation of sane tools to make future mitigation easier Design and implementation of next generation services and administrative tools for IRC networks Research and development of new container-based scalable deployment systems Christine Cadence Dodrill - 2015 - revision 9120b398...

Linked on 2015-04-14 13:41:41 | Similar Links
Xe
CinemaQuestria Orchestration - Christine Dodrill

Toggle navigation Christine Dodrill Blog Projects Resume Contact I've been a core member of the staff for CinemaQuestria for many months. In that time we have gone from shared hosting (updated by hand with FTP) to a git-based deployment system that has won over the other staffers. In this blogpost I'm going to take a look at what it was, what it is, and what it will be as well as some challenges that have been faced or will be faced as things advance into the future. The site for CinemaQuestria is mostly static HTML. This was chosen mainly because it made the most sense for the previous shared hosting environment as it was the least surprising to set up and test. The live site content is about 50 MB of data including PDF transcripts of previous podcast episodes and for a long time was a Good Enough solution that we saw no need to replace it. However, being on shared hosting it mea...

Linked on 2015-03-16 20:35:15 | Similar Links
Xe
The Saga of plt, Part 2 - Christine Dodrill

Toggle navigation Christine Dodrill Blog Projects Resume Contact So I ended with a strong line of wisdom from plt last time. What if the authors that wrote free PGP did not release their source code? A nice rehash of the Clipper Chip anyone? 2015-01-25 [00:06:15] <Xe> but they did release their code [00:06:40] <plt> I saw a few that did not release their source code. [00:07:09] <plt> Its up to the author if they want to release it under the U.S Copyright Laws. [00:08:50] <plt> http://copyright.gov/title17/circ92.pdf Note that this is one of the few external links plt will give that actually works. A lot of this belief in copyright and the like seems to further some kind of delusional system involving everyone being out to steal his code and profit off of it. Please don't pay this person. [00:57:18] <plt> The ircd follows the Internet Relay Protocols [00:57:35] <Xe> which RFC's? [00...

Linked on 2015-02-15 00:01:20 | Similar Links
Xe
The Saga of plt, Part 1 - Christine Dodrill

Toggle navigation Christine Dodrill Blog Projects Resume Contact The following is adapted from a real story. Parts of it are changed to keep it entertaining to read but the core of the story is maintained. I apologize that this issue in the epic will be shorter than the others, but it gets better. It all started when I got this seemingly innocuous PM on Freenode: 2015-01-23 [18:32:48] <plt> Hello. I am writting a new ircd and can I have the channel ##ircd please? This is a fairly common event on larger IRC networks, especially given the length of the channel name and the fact that it references IRC daemons specifically. At this point I had forgotten I owned that channel. So naturally I decided to give it a join and see if the person who requested the channel was worthy of it or had brought enough activity to it such that it was morally correct to hand it off. This was not the case...

Linked on 2015-02-14 19:07:26 | Similar Links
0

Pages are deceptive. Live life in a basket.