Dan King
Sobre Mim — Projetos — Divagações — Palestras — Publicações
Sobre Mim
No outono de 2013, comecei a trabalhar no meu doutorado em Ciência da Computação na Universidade Harvard em Cambridge, Massachusetts. Meu orientador em Harvard é Stephen Chong.
Meu trabalho de graduação foi sobre análises de fluxo push down para autômatos push down.
No verão de 2013, estudei Mandarim no Programa Interuniversitário (IUP) para Estudos de Língua Chinesa. O IUP realiza suas aulas no campus da Universidade Tsinghua. Estudei Mandarim por dois anos usando uma combinação de estudo autodidata, tutores, parceiros de língua e aulas. No IUP, consolidei minhas capacidades de Mandarim antes de embarcar no processo demorado de obter um doutorado.
Anteriormente estudei Ciência da Computação e Física na Universidade Northeastern. Durante meus primeiros anos no campus, fui membro da equipe de sistemas da CCIS e da seção da NU da ACM. Durante meu ano de middler, uma terminologia da Northeastern para o terceiro de cinco anos, me envolvi com um projeto de pesquisa em ciência da computação que consumiu a maior parte do meu tempo livre nos últimos dois anos de minha educação. Tentei me manter ocupado com projetos pessoais quando podia separar algum tempo das aulas e pesquisa.
Dei uma pausa no meu primeiro projeto de pesquisa no outono e inverno de 2012, para trabalhar no experimento CMS na CERN. Você pode ler mais sobre isso, se desejar.
Projetos
- Phat Raid
- Phat Raid é um sistema de arquivos distribuídos escrito em Erlang. Trabalhei nele com uma equipe de estudantes para Sistemas de Grandes Dados em Nuvem, uma classe nomeada caprichosamente oferecida por Eddie Kohler na Harvard. Nossa contribuição particular foi implementar uma matriz RAID com sistemas de arquivos distribuídos. Conseguimos reduzir a latência de armazenamento para tamanhos de arquivos que eram limitados por disco. Ele também possui modos de falha incomuns e interessantes. Descrevemos isso neste artigo não publicado.
- Aprendizado de Máquina em Racket
- Participei de uma classe de pós-graduação em aprendizado de máquina no outono de 2013. Inicialmente, usei a linguagem R para implementar os algoritmos, mas rapidamente me frustrei com o R. Este repositório é uma coleção de ferramentas que desenvolvi enquanto trabalhava nos conjuntos de problemas desta classe.
- Currículo
- Gosto bastante do código-fonte em LaTeX do meu currículo. Secretamente desejo poder enviar aos avaliadores de aplicação o código-fonte em vez do PDF.
- Compilador Analisador de Fluxo
- Estou desenvolvendo algumas análises de fluxo e uma estrutura de gerador de analisador apropriada para aplicá-las. A verbalização do acrônimo deste projeto é possivelmente ofensiva para quem fala inglês de Boston.
- TeaScript
- Há alguns anos, depois de aprender sobre design de linguagens, decidi tentar criar uma. O resultado é uma sintaxe baseada em s-expression incompleta sobre JavaScript. Me esforcei para produzir código JavaScript legível enquanto oferecia ao programador uma sintaxe mais agradável, escopo lexicalmente evidente e um conjunto mais amplo de nomes de identificadores.
Divagações
- Impressão de Livretos
- 29 de Maio — Cambridge Vinte e Quatorze
- Tipos Sanguíneos e Diagramas de Hasse
- 16 de Maio — Cambridge Vinte e Quatorze
- Agradecimentos Imerecidos
- 12 de Fevereiro — Cambridge Vinte e Treze
- Abatido e Cansado
- 10 de Novembro — Cambridge Vinte e Treze
- Introdução à Ciência da Computação
- Meio do Verão — Pequim Vinte e Treze
- Trabalhando no CERN
- Meio do Inverno — França Vinte e Doze
Apresentações
- O Pacote Racket-ML Apresentação Reveal.js
- Dezembro de 2013, para Salão Racket Boston
- Uma Leitura de Desanonimização Robusta de Grandes Conjuntos de Dados Esparsos Keynote PDF
- Novembro de 2013, para Seminário CS252r de Harvard
- Uma Leitura de Aplicação de Domínio e Tipo e TrustedBSD Keynote PDF
- Outubro de 2013, para Seminário CS252r de Harvard
Publicações
Publicações recentes estão listadas abaixo, uma lista completa também está disponível.
- Shill: Uma Linguagem de Scripting Shell Segura — OSDI 2014
- Criamos uma linguagem que fornece contratos e capacidades para ajudar desenvolvedores a aplicar o Princípio do Menor Privilégio (POLP) ao escrever scripts shell.
topo, Versão em inglês.