85 lines
5.7 KiB
HTML
85 lines
5.7 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<link rel="icon" type="image/png" href="/favicon.ico">
|
||
<link rel="canonical" href="https://www.mcmillen.dev/https://mcmillen.dev/blog/">
|
||
<link rel="alternate" type="application/atom+xml" href="https://www.mcmillen.dev/feed.atom" title="Colin McMillen's Blog - Atom">
|
||
|
||
<title>Colin McMillen's Blog</title>
|
||
|
||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||
<link href="https://fonts.googleapis.com/css2?family=Quicksand:wght@500;700&display=block" rel="stylesheet">
|
||
<link href="https://fonts.googleapis.com/css?family=Fira+Mono:500&display=block" rel="stylesheet">
|
||
<link rel="stylesheet" href="/pygments.css">
|
||
<link rel="stylesheet" href="/style.css">
|
||
|
||
<meta name="twitter:card" content="summary">
|
||
<meta name="twitter:site" content="@mcmillen">
|
||
<meta name="twitter:title" content="Colin McMillen's Blog">
|
||
<meta name="twitter:description" content="Colin McMillen's Blog">
|
||
</head>
|
||
|
||
<script>
|
||
function fixEmails() {
|
||
const mailtoArray = [
|
||
'm', 'a', 'i', 'l', 't', 'o', ':',
|
||
'c', 'o', 'l', 'i', 'n', '@',
|
||
'm', 'c', 'm', 'i', 'l', 'l', 'e', 'n',
|
||
'.', 'd', 'e', 'v'];
|
||
const mailtoLink = mailtoArray.join('');
|
||
const anchors = document.getElementsByTagName('a');
|
||
for (let i = 0; i < anchors.length; i++) {
|
||
const anchor = anchors[i];
|
||
if (anchor.href == 'mailto:email@example.com') {
|
||
anchor.href = mailtoLink;
|
||
if (anchor.innerText == 'colin at mcmillen dot dev') {
|
||
anchor.innerText = mailtoLink.substring(7);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<body onload="fixEmails()">
|
||
|
||
<div id="page-container">
|
||
<div id="content-wrap">
|
||
<div id="header">
|
||
<div class="content">
|
||
<a href="/" class="undecorated">Colin McMillen</a>
|
||
<span style="float: right;"><a href="/feed.atom"><img src="/img/rss.svg" alt="Atom feed" style="width: 17px; height: 17px; margin-bottom: 1px;"></a></span>
|
||
<span style="float: right;"><a href="https://twitter.com/mcmillen"><img src="/img/twitter.svg" alt="@mcmillen"></a></span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="content">
|
||
<h1 id="mcmillens-blog">mcmillen’s blog</h1>
|
||
<p>Don’t forget to follow with your favorite <a href="https://mcmillen.dev/feed.atom">RSS reader</a>!</p>
|
||
<h3 id="japan-2023-photos-2023-11-08"><a href="20231108-japan-photos.html">Japan 2023 Photos</a> (2023-11-08)</h3>
|
||
<p>I took a trip to Japan in September & October 2023 along with 7 friends. The trip was over a month long and I walked over a half-million steps. Here’s some links to all the photos I took on that trip! More details (and probably a longer blog post) to come later…</p>
|
||
<h3 id="goodbye-twitter-hello-blog-2022-11-07"><a href="20221107-goodbye-twitter.html">Goodbye Twitter, Hello Blog!</a> (2022-11-07)</h3>
|
||
<p>It’s quickly become clear that the acquisition of Twitter by Elon Musk means the end of the site as I’ve known it since 2008. Instead I’m going to collect all the stuff I would have tweeted about & post it to this blog roughly once a week. If you have an RSS reader you can follow along there. I’ve also created a subreddit where I’ll link to each post, so that folks can follow via Reddit if they prefer, and also comment on what I’ve written. I’d also appreciate comments over email! My goal is to post fewer things, more thoughtfully, to a smaller audience for a while, and see how that goes.</p>
|
||
<h3 id="downvotes-dislikes-considered-harmful-2021-07-21"><a href="20210721-downvotes-considered-harmful.html">Downvotes & Dislikes Considered Harmful</a> (2021-07-21)</h3>
|
||
<p>If you’re letting users rank content, you probably don’t need and don’t want downvotes. Here’s why. (This post inspired by news that Twitter is considering adding “Dislikes” to Tweets.)</p>
|
||
<h3 id="a-new-year-a-sneaky-new-project-2020-02-09"><a href="20200209-sneak.html">A new year & a sneaky new project</a> (2020-02-09)</h3>
|
||
<p>I can’t believe it’s here so quickly, but: today marks a year since my last day at Google. That seemed like a good occasion to dust off this newsletter & let you know what I’ve been up to: making a videogame! I’m working on a stealth-based 2D platformer where you don’t have to kill anyone unless you want to. It’ll be possible to get through every level by sneaking and misdirection, but it’ll require you to be careful and tactical to do so… and of course if that doesn’t work out, you can always draw your swords and go in fighting! So far I’ve given it “Sneak” as a codename, but that’s definitely a placeholder until I can flesh out more of the world.</p>
|
||
<h3 id="my-first-paper-in-10-years-2019-04-03"><a href="20190403-update.html">My first paper in 10 years?!</a> (2019-04-03)</h3>
|
||
<p>It’s been nearly two months since my last day at Google, so I guess I should finally make use of this newsletter :) I wrote a paper which was published on April 1st as part of SIGBOVIK 2019: “93% of Paint Splatters are Valid Perl Programs”. In this paper, I answer a long-standing open problem in the programming languages community: is it possible to smear paint on the wall without creating valid Perl?</p>
|
||
<h3 id="93-of-paint-splatters-are-valid-perl-programs-2019-04-01"><a href="https://www.mcmillen.dev/sigbovik/">93% of Paint Splatters are Valid Perl Programs</a> (2019-04-01)</h3>
|
||
<p>TLDR: read the paper and view the gallery of pretty Perl programs. In this paper, we aim to answer a long-standing open problem in the programming languages community: is it possible to smear paint on the wall without creating valid Perl?</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="footer">
|
||
<div class="content">
|
||
© 2023 <a href="/" class="undecorated">Colin McMillen</a>. No cookies, no tracking.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</body>
|
||
</html>
|