@aisamanra tweet archive

It's not like I tweet much these days anyway, but for those leaving Twitter—which I hope some day we all do—I'm on Cohost as aysamanra and on Mastodon as aysamanra@sometimes.when.computer.
Because it involves repeatedly stabbing an object many thousands of times, cross-stitch is arguably the most Klingon craft. (The text is a Klingon phrase meaning, "It is a good day to die.")
You can think of Matzo as something like Tracery (tracery.io) but with more of a "programming language" structure. Here is one example that contrasts a Tracery program with the equivalent Matzo program: github.com/aisamanra/matz…
My plan is to reimplement all three more cleanly and maintainably. So far, I've only reimplemented Matzo, but you can find it here: github.com/aisamanra/matzo
Over the last decade, I've made three major attempts to write programming languages for producing random text. Here's the first: Matzo, a simple dynamically typed language for random strings.
@aaronmblevin I haven't used it as much as I should, but I love that there are efforts like search.marginalia.nu out there to try to address this problem.
@thingskatedid @snep__ebooks @Argorak Oh, I should finish the drawing code and properly release this tool! After this tweet, I went back and did some reimplementation, so I've got a WIP Rust version of the DSL for these now: github.com/aisamanra/apic…
None of the things described here are "new", just old ideas put together in a particular way. Still: I generally feel like no existing language has "solved" error-handling: they've just found rough local maxima. This is trying to push the design space a bit.
New quick blog post! This one is about an approach to error-handling I want to experiment with in a future hypothetical programming language: journal.infinitenegativeutility.com/structurally-t…
@shelfuu no-one can be truly pissed off in the presence of Elan Sleazebaggano
I also did some experimental non-square "cross-stitch-ish" substrates, which I generated via Ruby code. This was my first attempt at a "tri-stitch" design.
For example, here's a custom earring tree I made for my partner @rhiannonstone, inspired by several others that weren't quite what she wanted. (Stained birch plywood—neither she nor I like the look of untreated laser-cut wood; I think it looks tacky.)
One thing I did in 2021 was finally buy myself a home laser-cutter. I've definitely gotten more jaded about tech over time, but it's pretty magical to be able to start with a drawing or a snippet of code and quickly turn it into a physical object.
@d_christiansen lipu ni li seme?
@josecalderon …believe me, I know. Here's me starting down the pipeline back in 2015: twitter.com/aisamanra/stat…
@josecalderon Be careful! It turns out of you keep following the pipeline you go past "Haskeller that hates breaking changes" and get to "ex-Haskeller."
I was thinking of this today because of this talk where my cartoonist avatar makes a guest appearance, but I've been told by several people they've used the cartoon in their own talks: christine.website/talks/nixos-pa…
(Because to be clear, in addition to being a Stan Kelly pastiche, the little dude in my Nix cartoon was also supposed to be, well, me.)
I'm pleased that my little Nix cartoon from last year has gotten popular, but it's still a little surreal to go to a stranger's web site and see my poorly-drawn cartoonist avatar looking back at me.
@ntcomplete It's like open source, but without the annoying part where people open semi-related issues or low-quality pull requests against the stuff you built.
@ntcomplete The shared infrastructure thing was great. I built a pretty expansive zipline network over near Mountain Knot City, and it was weirdly satisfying whenever I got a notification about other people using those ziplines.
@ntcomplete It was my first exposure to a Kojima game: pop culture osmosis told me it would have tons of cutscenes, but I had no idea how solid and effective all the actual mechanics would be. Planning and executing deliveries was just so engaging and interesting all the way through for me.
@Ptival I've only lightly skimmed Seven Sketches in Compositionality—I should definitely go back and actually read it. That said, I do think that what I'm doing here is probably more of an aesthetic effort than actually, like, trying to do much analysis or anything of the graphs.
@rngcntr I'm going to be rewriting it entirely—it's currently Haskell, which is a language that bit-rots pretty aggressively, and I want to rewrite it in something that's less of a moving target—but my unfinished prototype of the input language is on Github: github.com/aisamanra/apic…
@TechLloyd Not quite yet—those were done by hand—but that's what I plan to implement! I've got a textual format I can parse already; I just need to finish the drawing code.
The post about Apicius in particular is here, and it includes a little bit of detail about the textual language I was working on from which to generate these: journal.librarianofalexandria.com/backburner-mon…
A good consequence of this was making me realize which projects I'm most excited to return to. I think top of the list is Apicius, my sadly-neglected recipe graph effort, so I've already started dusting off its code.
Well, I finished my little September effort: 25 blog posts, posted daily, each about a project I've neglected but not given up on. Here's the final list, grouped by category:
@cmarshl It's also nice 'cause it's helping me remember which ones I'm more excited about returning to. I've already written some of these posts and thought, "Wait, why haven't I been working on this lately, this rules."
These posts are just short overviews of things I've started and want to finish some day. Most—about ⅔ of the planned list—are software, but some are tabletop games or video games I'd like to write, as well.
What with [gestures at the state of the world] I've had a hard time focusing on projects lately. So instead, every day this month I'm writing about a different unfinished project I'd like to return to some day: journal.librarianofalexandria.com/backburner-mon…
@aaronmblevin So, y'know, object-of-death-rumor solidarity here.
@aaronmblevin I switched schools when I was 7. I made that choice mid-summer, so it wasn't announced at my old school or anything. Years later, I started at a middle school with a lot of classmates from that old school, and one of them walked up to me and shouted, "Getty! I thought you died!"
…also yes, because of the realities of copyright law, I could not set this video to the ideal music, but you can still chant 'koyaanisqatsi' aloud as you watch it for the best experience.
It's honestly not the best video—the first part is marred by an unfortunate windshield bug, and the timing of the trip means you can't even see Portland at the end because it's too dark—but it was still fun to put together.
I recently made a San Francisco→Portland drive where, on a whim, I mounted a camera on my dash. Here's that 9½ hour/635 mile drive compressed into 9 minutes: youtube.com/watch?v=jb61wE…
Also, I should include this in the post itself: all the relevant source code is online, including source that isn't directly included in the post! I've collected it in this repo here: github.com/aisamanra/post…
After this, I plan to write a few more technical posts focusing on generating vector images, and then write at least one more post about abstract strategies and approaches I've used to make generative artwork.
✏️The first post in a new series: "In Praise of Netpbm", where I demonstrate how to create procedural pixel art with no library support in basically any programming language: journal.infinitenegativeutility.com/how-i-do-gener…
@n1nj4 I am absolutely speaking from experience when I say: the bottle is not a metaphor and it has certainly been used.
@betalister @acfoltzer
@acfoltzer Two fun facts:
1. the first version of this I made had Gendo's human eyes still visible, an image which will now haunt my dreams
2. this image's filename is `gato-ikari.jpg`
@BowToChris There's a fun blog post about the ligature features in fonts which uses them to create a novelty font, and it describes a different way of achieving the same effect which could in theory be more programmatic, as well: pixelambacht.nl/2015/sans-bull…
@BowToChris Because there were a lot of diacritic forms, I actually used a little Python script to create the first version of them (by modifying the XML structure of the SVG files) and then adjusted the size and position manually for each one.
@BowToChris I'd be happy to write up something more thorough if you want the full steps, but the short form is 1. draw glyphs in Inkscape 2. import into FontForge and adjust sizing 3. use FontForge's GSUB interface (usually for font-specific ligatures) to replace glyphs with joined versions.
I made this fantasy font as a design element for another project, but seeing the ligatures and diacritics appear as I type is just so satisfying.
(In the past I'd have turned it into a Twitter bot, but Twitter bots are such a hassle. I'll probably make this one Fediverse-only instead.)
Experimenting with a generator for random poetic forms. My goal is a system that can (at least in theory) generate the sonnet, the villanelle, and the triolet.
…yes, I know, this tweet is not a groan-worthy programming joke like 90% of my other recent tweets, but I'm sure I'll be back with more terrible posts soon.
Here's a quick roundup of creative projects I barely got done last year and the personal creative work I plan to get to this year: journal.librarianofalexandria.com/progress-repor…
@alexbiehl_ @kowainik I think that's a good idea. I've added a redirect note to the README and archived the repository. If you've got other places I should redirect to and/or other notes I should include, I'd be happy to do so: just let me know!
@acfoltzer I in turn can't think about Dunk without thinking about this specific image twitter.com/3liza/status/6…
@theg5prank It's only a slight exaggeration to say that realizing I could include a tiny cartoonist avatar being snide is the reason I actually drew this.
@pushcx Should be fixed now. Thanks for pointing that out!
…I was gonna also add a crying angel labeled "The Unix Way" but if I actually worked on this cartoon any more the irony exposure would have become lethal.
I've decided the next big thing will be Boomer-style political cartoons but about programming, so I'm gonna get in on the ground floor of this terrible trend.
@josecalderon Don't feel left out! Haskell will have its own opportunity to be gutted whenever the all the crуptоcurrеncу pyramid schemes finally collapse.
(…I made this joke in a Slack I'm in and the response there was, "Why are you like this?" I figured that meant it was awful enough to unleash on The Public, as well.)
My new plan is to release a toy that will teach children the joy of using strings to represent code. Your child will love Tcl Me Elmo!
@ntcomplete I do flip through a physical printout of the rules, so there's a non-zero amount of paper-crinkling in the video. That's an ASMR thing too, right?
On a very different note, I recently recorded an actual play session of Ex Novo, a solo city-building tabletop game, if "watch someone roll dice to invent a city for an hour" happens to be your jam: youtube.com/watch?v=6t_sl3…
This post is inspired by William Cook's "On Understanding Data Abstraction, Revisited", a useful definitional reference. I figure I cite it regularly enough that I might as well have a convenient post I can point at!
✏️ A blog post about how "objects" can exist even in a language like Haskell, and reasons you might or might not want to use them: journal.infinitenegativeutility.com/objects-in-fun…
@overfull_hitbox @ckolderup
(…specifically, aysámanra means 'one who dreams', and úždanra means 'one who has spoken'. When I said 'corny', I absolutely meant it.)
(You might notice that both these account names end in -anra, and that's because they're both agentive nouns in an old conlang I created, because I am still, at heart, a corny nerd.)
I recently decided I wanted to publicly share more rough, unfinished art, so rather than inundate this account with it, I ended up making an alt: @uzhdanra
@mjsottile I used it on a Python project recently and it was mostly pretty nice. My one piece of advice is to use `check-untyped-defs`: without that option, MyPy won't type-check the bodies of functions that don't themselves have declared argument types, which is… surprising.
@mjsottile Have you tried an external type-checker like MyPy? It of course won't address performance, but it might help with the correctness parts. At the very least, it does give you a proper type-checked optional type.
I never skimp on the INET when I open a socket. Just cram as much INET in there as possible. My sockets are INET AF.
@josecalderon @johnregehr The most popular Haskell JSON library is named after Jason's father Aeson, who depending on the source either was killed and subsequently resurrected by his daughter-in-law (Ovid's Metamorphoses) or died from drinking bull's blood (the Bibliotheca of Pseudo-Apollodorus).
@josecalderon Coming soon: the Tantalus theorem prover, which should start yielding fruitful results any day now. It can be installed with an associated build tool, Sisyphus, on a rolling release schedule.
@microliza You know how everyone cares deeply about Rust error-handling because it's a shallow but important interface they have to deal with all day, so they write their own error-handling crate which is 90% bikeshedding and 10% making slightly different tradeoffs than the others?

@josecalderon People are working on various other ActivityPub-compatible tools, as well, and I think the conjunction of those can win people over in a way that Mastodon by itself won't. I love Mastodon, but to many people it's just "like Twitter but with fewer people and less discoverability."
@josecalderon One thing that I've considered is that more people might move to Mastodon as more and more interesting things become available via ActivityPub. For example: what about a paper-discussion blog (sort of like LtU) but with commenting done entirely via your ActivityPub account?
I've realized that the phrasing here makes it sound like this is a solo project, which isn't true! Parts of this were also written by @moltarx, whom I have somehow tricked into writing Python for this. (Typed Python, but still.)
My own self-hosted instance is here, loaded with my Pinboard bookmarks, if you want to see it running: remember.when.computer/u/gdritter
N.b. that I'm not much of a web programmer, and LC is not a terribly serious project! I'm building it for me, maybe some friends. I'd be happy if other people end up using it, but to borrow Robin Sloan's metaphor, LC is a home-cooked meal: robinsloan.com/notes/home-coo…
I've been working on a self-hosted bookmarking service, which I'm calling Lament Configuration. It's still immature, but today it hit my threshold for "minimum basic features": git.infinitenegativeutility.com/getty/lament-c…
This is also the first post I've written with my newly-migrated blog—I've switched from a homebrew blog to WriteFreely, which means you can also follow and interact with it via Mastodon or other ActivityPub-enabled systems.
✏️ A blog post about the Pony programming language, error-handling, and thinking with objects: journal.infinitenegativeutility.com/pony-errors-an…
@SlackHQ Is there any way to switch back to the old UI? I've got half a decade's worth of muscle memory that's useless with the new one (since e.g. you moved the @ button) and the new UI has lots of useless clutter which takes up valuable screen space on my smaller laptop screen.
@thingskatedid @sw17ch If you go from C to NewSqueak (the Rob Pike one—"A language for communicating with mice"—not the SmallTalk one) to Limbo to Go you can see a clear gradual syntactic evolution, which is fun.
Common Lisp
Rare Lisp
Epic Lisp
Legendary Lisp
@thejonanshow I live in Portland and work on the @sorbet_ruby project—if you're interested in a talk on that topic (whether at the next event, or to keep in your pocket for another event) I'd be happy to give one!
@thumphriees …ah, yes, my family motto: PONO CUM RIGORE ET NUNQUAM EXIBO. "I Post With Rigor And I Will Never Log Off".
I haven't said this on Twitter yet and I should: I'm going to be in Paris next week to give a talk about @sorbet_ruby for @parisrb!
…why would you call your library for turning pictures into terminal-based ascii art "aalib" when you could call it "ncursed images"?
@thumphriees …I guess I don't need the blog post 'cause I already made this summary of it.
@thumphriees I keep thinking about writing my "I-used-to-write-Haskell-now-I'm-employed-writing-C++-and-Ruby" post, and haven't more out of laziness than out of smoke-aversion. I mean, I survived both "GEB is overrated" and "QuickCheck uses typeclasses badly"; I think I can survive this one.
@mycoliza @iximeow @mgattozzi @sgrif @ManishEarth @yaahc_ @ayourtch @bitshiftmask @endsofthreads @tomaka17 @rust_analyzer (…I keep thinking about writing up a blog post that details the horror story of the codebase that this came from. That is to say, the "job queue implemented in Bash and Scala using Jira as front-end" story.)
@jckarter @munificentbob @jseakle Oh, you're absolutely right! Well, there we go: 4.1.2 in the C89 standard and 7.1.3 in the C99 standard both dictate that naming functions `toilet` is undefined behavior.
@jckarter @munificentbob @jseakle I haven't dug deeper than just a quick perusal, but it looks like in C89 reserved identifiers were reserved regardless of includes, but in C99 they're usually reserved "…in the same name space if any of its associated headers is included."
@overfull_hitbox @johnregehr It's sort of like that proverb about 'for want of a nail' except it turns out that all the events of Twin Peaks were just for want of a light.
@ntcomplete @laura_hudson @Polygon I saw this this morning and one of the first things I thought was, "Oh, I need to make sure Nick has seen this."
@josecalderon I had temporarily forgotten that Goya was a food brand and assumed that your local supermarket must have a whole section of Francisco Goya prints.
@SlackHQ Is there an option to turn off the new WYSIWYG editor? It takes up more screen space, is clunkier and more awkward to use for editing, and is in general a significant step back in usability from the previous system.
@ChadScherrer In this case, the specific pidgin being used is West African Pidgin English, a language spoken by some 75 million people: en.wikipedia.org/wiki/West_Afri…
@ChadScherrer 'Pidgin' is absolutely not a term for informal communication: a pidgin is specifically a language that results from contact between speakers of two or more languages that combines grammar and vocabulary from those languages into a simplified language for common communication.
@thumphriees One of my blogs I've already moved to writefreely, which is written in Go using a fork of blackfriday but by default doesn't turn on footnotes. I think the underlying library does, though; I might enable it in my build and see how it works out.
@thumphriees I've found Markdown implementations that feature footnotes in both Rust and Go, and I've considered rewriting my blog to one of those. Even a modicum more stability than I get from GHC/Haskell packages would be a weight off my mind.
@thumphriees Are you like me in that you're tied to Pandoc for the footnotes?
Oh, yes, happy #BiVisibiltyDay from your local bisexual programming-language-grouser, depicted here with roughly median surreptitiousness.
I don't know if the Jython community is currently in the market for a new logo, but I have a suggestion.
@johnregehr @johnwvilk @overfull_hitbox @dril The Fifth Element was heavily inspired by the style of French scifi comics in general and The Incal in particular (to the degree that the publishers tried to sue Lec Besson.) So if you've seen that, you definitely know the French Scifi Comics Look.
@johnregehr @johnwvilk @overfull_hitbox @dril The first one—The Incal—was inspired by the pre-work Jodo and Moebius did for Dune, so big parts of it are Dune With The Serial Numbers Filed Off. I like them, but they're not to everyone's taste. Quintessential 80's-Heavy-Metal-magazine comics, with all that that implies.
@johnregehr @overfull_hitbox @dril Bill told me that he'd finally watched the Jodorowsky's Dune documentary, so I showed up at Galois a few weeks ago and with basically no explanation handed him a stack of Jodorowsky comics. (I don't know what I could have explained. "Hey, you're gonna have a weird time"?)
@johnregehr @overfull_hitbox @dril He's bizarre. (He did a Kickstarter a few years back for his movie Poesía Sin Fin, and one backer reward was "poetic money": bills he made that feature his own face and some of his poetry. I really should remember where I put mine so I can frame and display them.)
@overfull_hitbox @dril I love the corny ridiculous choice to make everyone refer to contemporary things as "paleo-whatever" so that everyone swears by "Paleo-Christ." I forget whether it's in Metabarons or The Incal that there's an offhand comment about "…the economic theories of Paleo-Marx."
@overfull_hitbox @dril
(It's a rough homemade reproduction of Funranium Labs' Black Blood of the Earth, but made via repeated coffee infusions instead of via cold distillation. Back-of-the-envelope calculations suggest they have comparable caffeine strengths, a level scientists call "hooboy".)
This week's project: thrice-brewed cold brew. It's cold brew, filtered by Büchner funnel and used as substrate for more cold brew, and then once more. It's tasty and very, very strong.
This is my cynical money-making idea for every tech company that tries to unilaterally foist redesigns on users: pay to avoid the redesigns. $1/mo to avoid the algorithmic timeline, $2/mo to get square avatars and stars back.
If Slack wanted to make a huge pile of cash, they could offer a "Slack Classic" plan where you pay money to opt out of all the ways they've made Slack worse since like 2016.
@SlackHQ In general, I find many recent Slack changes (such as this intrusive message, or the way channels with unsent messages are reordered) make the experience of using Slack significantly worse, and I don't see why these can't be easily and trivially disabled via configuration.
@SlackHQ I understand displaying the local time/notification status for DMs is useful in some contexts, but I'd really like the ability to turn this off. Can you please offer this as a configuration option?
Many classic D&D spells are named after the wizards who invented them, like Tenser's Floating Disk, Mordekainen's Faithful Hound, and Mіke's Hаrd Lemonade.
@markwvh It's super cool! I haven't looked at the code in depth, but I poked at it a bit. (Also coincidentally, the author is also a coworker of mine at the new job, albeit on a different team than mine, which is funny.)
@GentlyPress I'm not terribly far into it, but at least what I've watched so far of Craig of the Creek is cute and fun (and made by Steven Universe alums!) I don't know where it streams, though.
@microliza @aaronmblevin They both are—darcs is the original one, and pijul builds on a category-theoretic refomulation of the theory of patches, but having fixed the fact that darcs sometimes had exponential merges in the worst cases.
@SlackHQ As of recently, Slack will move channels to a "Drafts" section when they contain typed-but-unsent messages. I find this VERY frustrating: I'd prefer channels stay in a single fixed place in the sidebar. Is there any chance we can get an option to disable it?
@aaronmblevin Those ancient French sure had a lot of gaul.
@morabbin All these changes—and more I haven't entirely described—can in aggregate produce accents, which over time can become different dialects, and over a larger time-scale even result in different languages!
@morabbin But again, because these changes can act in contradictory ways (adding sounds or removing them, changing them in one direction or another) they can naturally result in two communities producing different or even opposite changes.
@morabbin (It also could get reinforced negatively: if you really hate the people who say "jus'", you might deliberately pronounce it clearly to distinguish yourself from them. Think of explicitly-cultivated posh accents here!)
@morabbin This gets reinforced by social processes: if you spend time around the people who say "jus'", then you might adopt that pronunciation. If you were born in that community, you might learn the language with those pronunciations!
@morabbin But changes like those can add up over time, and then be reinforced socially: if several people in the same speaker community produce the same sound changes, then it becomes a social norm in that group that "just" is always said as "jus'".
@morabbin I phrased those changes as pursuing goals ('make it easier to say') but these usually happen without us thinking about them. If I'm talking quickly to a friend, in doing so I might unconsciously drop a few sounds from the words I'm saying.
@morabbin On the other hand, you might also streamline the pronunciation of a word by dropping sounds and making words shorter, like pronouncing "just" as "jus'" or "going to" as "gonna". So: some changes can lengthen words, other can shorten them!
@morabbin Sometimes, we add sounds to a word to make it easier or clearer to pronounce: e.g. some dialects pronounce "athlete" or "film" with extra vowels, because consonant clusters like "thl" and "lm" are tricky to both say and hear!
@morabbin That's a pretty big question, but to handwave a lot: lots of abstract forces act on how we pronounce words, sometimes acting in contradictory ways or producing different results, and those forces applied en masse can result in accents.
"So that's how tracking a DNS query works, you dig?"
@acfoltzer @josecalderon here's some advice you might need now
@overfull_hitbox @johnregehr (Incidentally, I'd definitely avoid the BBC adaptation of The City & The City. I felt like it pretty heavily missed the point of the book, and the graphic design—where it tried to make text look 'foreign' by sprinkling random diacritics throughout English text—was infuriating.)
@johnregehr @overfull_hitbox OTOH, I can also see arguments for The City & The City (which is really approachable: basically just crime fiction in a slightly odd setting) and Embassytown (which is my hands-down favorite Miéville, and is a scifi book with a lot of interesting—if farfetched—language stuff.)
@johnregehr @overfull_hitbox My first was The Scar, 'cause I didn't realize there was an ordering to those books (to whatever degree it matters) and it was good first Miéville, I think. That whole series is corny and overstuffed in a way that (at least mostly) works.
@thumphriees No, but I've considered writing a terminal-based equivalent.
@thumphriees I feel like I've seen others, but this is one I know of for runit: github.com/akzhan/runit-m…
@mycoliza yeah, calloc is that bald kid from canadian tv, right?
@shelfuu I know about Chеgg, but only because the phrase "Bibmе a Chеgg" has become irreversibly etched into my brain. twitter.com/levarburzum/st…
@rhiannonstone @thumphriees Will Prufrock let you in if you're not wearing white flannel trousers?
@markwvh I'm glad you enjoyed it! I wrote it in part because I wanted to understand it more clearly myself, and writing an explanation is a great way of clarifying your own thinking, so I'm happy it's comprehensible to others, too!
@josecalderon @overfull_hitbox It doesn't matter how lazy it is, because all of my punchlines are forced.
@overfull_hitbox My whole deal on the internet is that I take existing jokes and make them worse by making them about Haskell. This is also my whole deal off the internet, too.
I haven't mentioned here, and I should: I'm joining @stripe to work on this exciting project! twitter.com/darkdimius/sta…
@thepelicanpoems @TheZoneCast That's awesome! I'm glad it went well. If you do end up playing again, I'm always open to feedback or tweaks, but the fact that it's fun is I think the most important thing!
@autoorator Somewhere in the middle of Nevada—I think about an hour west of Winnemucca, give or take some?
@johnregehr I think I woke up shortly before we passed through Green River! I was disappointed that the timing wasn't right to get good views of western Utah. There were still some beautiful views from the train, but it was too dark to see anything from Elko NV through to Helper UT.
I'm between jobs right now, so I had time to take a 30-hour train ride from Sacramento to Denver. Here are some scattered views from that ride.
@thepelicanpoems @TheZoneCast Awesome! Let me know how it goes! I haven't done any playtesting at all yet, so I'd be interested to know what works and what doesn't, or whether there were any adjustments needed to make it flow or unclear spots in the rules.
(Rejected alternate titles include 'Levenshtein's Destructive Resonance' and 'Spelling Certain Doom'.)
I had an idea this morning for a one-page game inspired by @TheZoneCast's Ring of the Grammarian magic item, so I wrote a quick first draft:
To weigh in on @josecalderon's thread about Galois internships: I worked there for six (very enjoyable!) years, during which I wrote Haskell, C, C++, Python, Scala, OCaml, Rust, and assembly. Galois is definitely not just Haskell! twitter.com/josecalderon/s…
They call it C++ instead of ++C because it adds to C but gives you back all the same problems you had before.
@acfoltzer what's up everybody, i think—
I have decided, however, that all my future blog posts will use Argument By Alliteration. "You think you've solved this problem, but you've just moved from Function Fracas into Object Oblivion."
I'm not saying it's wrong: there's a valuable argument to be made along these lines! But this post doesn't make it. It just has some alliteration and a snide Perlis quote as a lazy mic drop.
This post is being shared approvingly by people I like and respect. I must be missing something, because all I see here is a premise without rationale or evidence: trevorjim.com/the-monadic-mo…
What is a `man`? A miserable little pile of `troff`.
@ntcomplete You say that, but Madame Lopez did in fact roll her R's when she trying to teach us French, so you're not too far-off.
@ntcomplete My real-life high school French class actually had more teacher turnover than Defense Against the Dark Arts. I took three years and had six teachers, IIRC.
@aaronmblevin it would probably be dangerous to rely too heavily on such a system. bad idea to have too much of a stake in a Vampire Machine
@aaronmblevin if you wrote a vm that lacked reflection, you could call it

@josecalderon @ChariseeChiw A few years ago, there was a weekend where they had to do weekend power maintenance at the Commonwealth Building, which meant we had a semi-mandatory Galois ice cream party in order to eat all the Klondike bars so they wouldn't melt over the weekend. It was a good party.
@theg5prank the new trendy thing among silicon valley designers is "microdosing notifications", where you make notifications that so subtle they unobtrusively enter your unconscious mind instead of derailing your train of thought by notifying you
These screenshots should clarify what I mean: the new notification icons are muddy and hard to see. It's impossible to understate what a step backwards this is in clarity and usability.
It's a long shot, but please let me know if anyone makes a browser extension or whatnot to change @SlackHQ's favicons back to the old style. The new activity notifications are annoyingly subtle and difficult to see.
Github now allows you to set your status, and luckily, this status consists of arbitrary text and whatever emoji you want.
even the Haskell base libraries are getting in on roasting my tweets
[cw: alcohol] (When I use Cointreau instead of Cherry Heering, I also swap the amaro for Hiver Amer—an amazing cinnamon-and-bitter-orange amaro—which is strong enough that I reduce its proportion and balance it with demerera syrup. I call this one a "Nakatomi Christmas".)
[cw: alcohol] The actual cocktail which inspired the Hans Gruber uses Amaro Albano, but I usually use Amaro Lucano (along with High West Double Rye and Oban for the whiskeys.)twitter.com/silentbicycle/…IesYDYi0
…posting in Old English is also known as "being þorny on main"
…idea: an opera about early 2000's internet culture. you could include some really striking l33tmotifs
@paul_pearce @xexd …I don't know why it's coming up more now, but it's definitely one of those subjects that people—especially Haskell programmers—don't totally understand but nonetheless like to propose as a universal solution to every problem. (See also: category theory.)
@paul_pearce @xexd Sequent calculus (as well as proof theory in general) shows up prominently in branches of programming language theory, in part because sequent calculus is a useful formalism for describing type systems. (It showed up a lot for me during grad school.)
@mycoliza @sw17ch this is redundant
If you're interested in creating custom playbooks, you should also be able to easily modify those documents: they're still a tiny bit finicky, but they are mostly written in terms of high-level macros suitable to any DW playbook.
I'm doing some Dungeon World hacking, so I now have (syntax-highlighted!) LaTeX versions of all the core playbooks. I put them up here, in case anyone would find that useful: github.com/aisamanra/dw-p…
It's #BiVisibilityDay, that one special day each year that bisexuals like me are unable to resist making comments about how we reflect light.
I've been generating these images with a tiny Rust library I've written. Since it's a library intended to support plotting, I naturally named it gunpowder_treason.
I've been doing some more AxiDraw plotting with metallic gel pen on black paper. I really love how these are turning out.
@overfull_hitbox @ckolderup This is pretty spectacular. (And maybe more than you know—I don't even think I've talked to you about my love of rhyme and metrical schemes and poetic forms in general.)
…after getting it yesterday, I mostly test-plotted whatever SVG files I had on hand in my images folder, including my awful Shrek emoji.
I got an AxiDraw yesterday. Right now I'm just futzing with simple geometric designs, but it's really satisfying to see my quick little programs being drawn onto a page.
@joranwei @shelfuu I do all of my meat parsing with meat-binary instead of meat-cereal.
Sadly, I'm not gonna be attending RustConf this year. (I'll still be in town for it, but that's because I, uh, live here.)
@blingdomepiece It didn't give me that option today—or if it did, I couldn't find it after a minute of poking around—so I figured I might as well get rid of them once and for all. (Or, at least, until Twitter changes their CSS again.)
Alternate plan: let Twitter become unusable, allowing "in case you missed this" and "your friend liked" and "promoted tweet" to grow until it engulfs any reason for you to be here, then join Mastodon.
I opened up Web Twitter and roughly a third of my timeline was other people's favs. I've now updated my custom CSS to fix this. Here it is, in case you, too, want to make Twitter vaguely more usable.
I should mention (on account of general renewed Mastodon interest) that I'm also there as keweddji@mastodon.social where I toot more informally but still sporadically.
@silentbicycle @josecalderon I've used Linux consistently for the past decade and haven't had videoconferencing problems since 2011 or so, at least if I was willing to use Chrome for it. (For a while, Hangouts didn't support Firefox, and its current FF support is still a bit buggier.)
…if you're not familiar with what I'm talking about, you should absolutely read Borges' essay about it alamut.com/subj/artiface/… and at least flip through a few pages of Wilkins' book describing it archive.org/details/AnEssa…
Proposal: encode John Wilkins' Real Character in Unicode, and treat ZWJ-joined sequences of these code points as having emoji presentation. Now we can have emoji for any concept that Wilkins could express.
I should write a Unix utility that runs in the background and plays Neil Cicierega music. I would of course call it lemond.
I'm not gonna tweet too much No Man's Sky stuff, but I am gonna show off the map I've been making to keep track of which systems I've visited in which order.
This is the best procedurally-generated name I've come across so far.
@cmrdpm I hope that helps! Like I said, I'll double-check some of the translations, but that should be at least in the neighborhood of correct.
@cmrdpm So in sum, we have: caper [nom] ingeniator [nom] firmitatis [gen] situs [gen] in regno [abl] animalium [gen plural] est.
@cmrdpm And prepositions often change their meaning based on the case of the noun that follows them, so the preposition 'in' when used with a noun in the ablative form means "in, at, among": the ablative form of 'regnum' is 'regno'.
@cmrdpm The unmarked subject form is the 'nominative', and it's used as both subject and object of the verb esse 'to be' (sort of like the English "It is I!") So 'caper' and 'ingeniator' are both nominative nouns.
@cmrdpm Most of the forms above are the 'genitive', which is like a possessive. So 'regnum' means 'kingdom', but 'regni' means 'of [the] kingdom'; 'firmitas' means 'reliability', but 'firmitatis' means 'of reliability'. (There's no 'the' in Latin, so it's just inferred from context.)
@cmrdpm Latin has a system called "noun case" where the way the way that nouns work grammatically is encoded in the ending of the noun. English does this for pronouns ('he' versus 'him' versus 'his') but Latin does this for every noun, in several predictable ways.
@cmrdpm There's a neuter ending in Latin which is often -um, so I wondered if there was precedent for using 'caprum' as a gender-neutral variant, but I haven't found an example yet, and 'caprum' is also an accusative variant of the masculine form 'caper', so I should keep looking.
@cmrdpm I should double-check when I'm home with my books, though, just to see! There might be better translations of some of the words that have a more accurate, general sense that I'm also not thinking of now.
@cmrdpm So I might rephrase it as 'caper ingeniator firmitatis in regno animalium est', which is more like, "The goat is the SRE among the animal kingdom", and that's a fair bit less ambiguous.
@cmrdpm My first pass would be 'caper ingeniator firmitatis situs regni animalium est' but I'm not a huge fan of this because of its branching ambiguity: "engineer of the reliability of the site of the kingdom of the animals" could mean a lot of ambiguous things!
@cmrdpm The animal kingdom is 'regnum animalium' (kingdom of the animals), and goat is either 'caper' or 'capra', which differ by gender, so I'm going to do the shitty classical thing and default to male for this translation.
@cmrdpm It's worth noting, however, that 'ingeniator' has a somewhat more restrictive meaning than the more generic 'engineer': it's more of an architect. There's not a great general translation: alternatives might be 'architectus' and 'machinator'.
@cmrdpm So, my instinct is that SRE would be 'ingeniator firmitatis situs', although I should note that 'ingeniator' is, IIRC, a Medieval Latin word and doesn't show up in classical sources. This is something like 'engineer of the durability/reliability of the site'.
@cmrdpm I know (or at least think I remember, as it's been a while) a moderate amount of Latin and would be happy to help out! Did you have a specific thing you wanted translated?
Thus young Getty learned an important lesson: don't pursue aesthetics and novelty at the cost of clarity. He promptly forgot that lesson and got really into constructed languages and functional programming.
My On-Brand Childhood Story is probably that I taught myself cursive in 1st grade and then tried to use it exclusively, and my teacher then patiently explained that it didn't matter how pretty my cursive was, none of my classmates could read cursive yet.
@mrdleet Oof, that's an embarassing typo. Fixed. Thank you!
@overfull_hitbox (I'm also unsure about "shit", but I know that an earlier draft of Quenya—when it was still "Qenya"—used the word 'muk' for 'feces', so that's a starting point from which I could do some semi-motivated etymological handwaving.)
@overfull_hitbox This one's gonna take a lot of work; I'm just trying to figure out the right Sindarin word for 'gender', and I haven't even gotten started on 'smacks' yet.
@sclv @acfoltzer But that's my point: it's not that trying to draw these connections together is a bad idea, or that he was wrong for trying. It's admirable and inspiring that he tried, but I still think it's important to point out where it didn't succeed, and how it could still be done better!
@sclv @acfoltzer …where Hofstadter starts to talk about whether an alien would appreciate the music of Bach or Cage more. If he had stopped and listened to what Cage was trying to say, I think he would have come to a different conclusion about the subjectivity of aesthetics and culture.
@sclv @acfoltzer But I think the places where it falls down are illustrative, because of the way that they weaken the whole book around them. I didn't get into it in the post, but his misunderstanding of John Cage, in my mind, completely undermines part of the following section…
@sclv @acfoltzer Part of the reason I wanted to be critical here is because I admire what it's trying to do, which is why I wish it landed more often. I think there's an intellectual and emotional core to the book that's both ambitious and worthwhile.
@chrisamaphone And there's absolutely a place in the world for the kind of book that you can age or mature out of, because those books are often about introducing things that get people inspired, and the greatest thing about GEB is just how inspiring it is and has been to people.
@chrisamaphone I hope I didn't come across as too negative about the book overall, because there is still a lot to like in and about it! I think had I read it about a year before it would have hit me much more positively, because it does cover a lot of topics I love.
But I also rarely see criticism of it, and so I wanted to lay out fairly and cogently the problems I think the book has. I hope I didn't come across too harsh: I tried to emphasize that the book has strengths as well as weaknesses.
As with many of my posts, this is a personal opinion, and one that I don't necessarily expect others to share! I understand the book is widely loved, and I don't want to imply that people are "wrong" for liking it.
✏️ Some of the problems I have with the book Gödel, Escher, Bach: blog.infinitenegativeutility.com/2018/7/why-i-d…
@jong Super Haskell Universe
Super Haskell Universe 2
Super Haskell Odyssey
Haskell Tennis Aces
(As a general rule, I apologize for all my tweets, because they are universally awful, but this one is especially bad because it reminds people about Other M.)
Haskell 1.0
Haskell 98
Haskell 2010
Haskell Prime
Haskell Prime 2: Echoes
Haskell Prime 3: Corruption
Haskell: Missing H
I've pitched my new idea for a Python-inspired GHC extension to several people at this point, and some of them appeared to be only moderately disgusted with me.
@aaronmblevin @NaleagDeco I've fallen out of being an active contributor (as I switched jobs and therefore don't use Matterhorn at work any longer) but I'm still pretty familiar with most of the codebase and would be happy to help out with whatever you're looking at!
Did some quick four-color pixel practice last night. I like how these turned out.
I still endorse the overall thrust of the post, but when read in light of current conversations, I think it reads too much like a lamentation. I still love the Rust language and community, and the proposals under discussion—even as I dislike them—don't "ruin" Rust.
I don't know that I'm going to edit the post, but after thinking about this all day I think I hit the wrong tone. I had an earlier draft that tried to be even-handed that I felt was lackluster, but I think I went too far in the other direction. twitter.com/aisamanra/stat…
@tsion And that's one reason why I wanted to draw a line specifically at `try fn`, because I think there is precedent and momentum for making changes in that direction.
@tsion All of these are absolutely motivated changes, and I think I'd have advocated for them in the language team's position! They also all complicate reasoning in the large in order to make it faster to program in the small.
@tsion (That latter example actually came up at my last job when I was teaching someone Rust: lifetime elision let them write some simple pieces of code they wanted, but then confused them when they had to internalize both lifetimes and what Rust was doing when it let you omit them.)
@tsion Or even making lifetime elision smarter and smarter: again, a change that's motivated and does make programming in Rust easier, but also a change that complicates the overall mental model that's required of Rust's semantics.
@tsion Which is to say, you can have two identical binding sites in two functions that bind variables with different types and may or may not move the name, because you need to have a larger contextual view of the match in question to know whether it's using auto-`ref` or not.
@tsion Another thing I removed was the recent changes to `match` semantics to automatically include `ref` and deref. I think this is overall a good change, but I admit I was conflicted about it for very similar reasons: it requires more contextual knowledge from a programmer.
@tsion And so I tried to be a bit forceful in how I stated things, because I was afraid that walking back the point too much would result in the wrong takeaway, but I do agree that there's some not-useful doomsday-saying and I definitely drifted that way in my rhetoric here.
@tsion A lot of the early feedback I got was that it felt too scattered and didn't end up addressing either point I was trying to make in a really robust way, so I removed it and rephrased things in a clearer but less nuanced way.
@tsion I actually had an earlier version of this draft where I had several paragraphs at the end pointing to the recent "Listening and Trust" post and talking about how this is a difference of priorities, and not a lack of faith in the core team or the language in general.
@jleedev Thanks for pointing this out! I'll push a fix as soon as I can!
✏️ a blog post about Rust, special cases in language design, and why I don't like the `try fn` proposals: blog.infinitenegativeutility.com/2018/6/the-rus…
(…hilariously, the reason my phone cannot reliably open most URLs is not because it lacks a browser—it's a dumbphone from 2013, after all!—but because of expired SSL certs.)
…I know this is My Own Fault for being an Insufferable Stodgy Luddite, but it's still annoying to learn I can't use my insurance's roadside assistance because they text you a URL and my dumbphone cannot open URLs.
I've written far too many posts in the past where I would accidentally introduce errors into code snippets as I tried to rename variables or refactor pieces for readability. This tool makes it easier to find those problems!
My newest post was written with an as-yet unreleased program I'm working on: a simple tool to stitch text and source code snippets into documents as well as build and test the source code used.
✏️ a quick blog post explaining what structural type systems are, and how you can use them to achieve an effect similar to duck typing in dynamic languages: blog.infinitenegativeutility.com/2018/5/structu…
I have an account on the Rust Internals list, which means I get a neat weekly summary email of all the ways people want to make error-handling in Rust worse.
@sclv ...is this too obvious
Someone has helpfully responded to this tweet to let me know that symbolic computation didn't originate with Haskell. It's pretty great when people correct things I didn't actually say.
@importantshock It's a sort of a trick, and not necessarily a deep or complicated one, but it can be really useful for certain kinds of debugging: hackage.haskell.org/package/number…
Today I got to introduce coworkers to the Data.Number.Symbolic module from the `numbers` package, and it's a pretty cool package, so, uh, y'all should also be familiar with it:
@GentlyPress (It treats happiness and sadness as opposites, but treats anger as being the opposite of patience, and pleasure as the opposite of "complaint".)
@GentlyPress (This tangentially reminds me of the Lojban language, an invented "logical" language based on predicate calculus, which has a hilariously fiddly system for representing emotions using 39 root emotions modified by 8 optional levels of acuity and 6 optional domains.)
@GentlyPress (It seems especially weird because that game is heavily concerned with the notion of "opposite" emotions in a kind of boiled-down simplified way, so e.g. Sad and Powerful are treated as opposites: the more Sad you are, the less Powerful you are, and vice versa.)
@GentlyPress There's a tabletop game that I know of that uses an emotion wheel (namely, The Veil, the cyberpunk PbtA game) and it has six points which go Mad-Peaceful-Sad-Joyful-Scared-Powerful. Its wheel doesn't seem right to me, but it's interesting as a point of comparison.
...this might be the most awkward Wikipedia illustration I've ever seen, and that's really saying something.
@cattheory It turns out that @d_christiansen remembered my joke when he was starting his postdoc and asked me if he could use it, so the fact that the prover is named Pudding is in fact directly because of that tweet!
Some Sunday afternoon yak-shaving: a quick-and-dirty `dmenu` application launcher using XDG Desktop Entries instead of using stuff from $PATH: github.com/aisamanra/dmes… (written hastily, largely untested, requires Python 3.6 or later)
OH: "Creating a new font in the course of completing a (non-typographic) project is called 'Knuthing it'."
Here's my go at an #artvsartist: I'm Getty, and when I'm not making bad jokes about Haskell and Rust, I bounce between ink, paint, pixels, vectors, and block-printing.
@hikikomorphism (And the former notion is a lot more interesting to me as a concept to explore than the latter, although I guess maybe it would have been harder to emphasize on TV and would have had fewer opportunities for angsty voiceovers.)
@hikikomorphism (Maybe I'm misremembering, but I felt like the book painted the city split as a culturally ingrained consensus that the citizens only faintly thought about, and this adaptation plays it as a sinister draconian split with scary posters everywhere warning about "Bréach".)
@hikikomorphism I love the book, but this adaptation makes a bunch of changes that feel weird and unnecessary to me while not really capturing much of what I liked about the book. I've only seen the first episode and I'm gonna keep watching out of curiosity, but I'm not a fan so far.
…the "next time" segment at the end of the episode raised the stakes: it depicted the word 'now' written as "ИÖW". I do not know which graphic designer was responsible, but they Must Be Stopped.
@morabbin I had a similar problem a decade and a half ago, when I kept seeing ads for a movie that my brain read as "My Big Fat Grssk Wedding".
@plaidfinch …luckily, I can apparently use automated translation to convert this inscrutable tweet to English from the original Catalan
I have many complaints so far about the TV adaptation of The City & The City, but I absolutely cannot stand how they use random accents to make English text look 'foreign'. One poster in the background says, I quote, "Áre wé mén ör lémönšž?"
@itblumenfeld …I didn't realize until I presented mine at Galois that I actually failed to put a mistake in one of the equations. It turns out, it's actually very hard to force yourself to put mistakes into stuff you know very well, much less egregious mistakes!
…it strikes me that the only reason I've drawn commutative diagrams for the past three years or so was to make incorrect parodies of them. I can't recall now the last time I've drawn a category-theoretic diagram that properly commuted.
(Dr. Launchbury has of course seen this painting—he claimed to be flattered, but he was amused the most by the cyclical commutative diagram that shows up in one corner.)
I had hoped to surreptitiously replace Einstein at night without telling people, but I procrastinated, and only just brought it in last week as a parting gift. Anyway—that's the story of my mediocre, ridiculous parody painting.
I wanted to lampoon this painting, so I did what any reasonable person would do: I painted my own snarky parody of it, complete with incorrect equations, but instead of depicting Einstein, it depicted Galois co-founder and Haskell Committee member John Launchbury.
It also was covered in equations—because science means equations, right?—many of which were of dubious relevance to Einstein, incorrect, or both. For a while, my coworkers had post-it notes with corrections all over the print.
Silly story: a few years back, we at Galois got some new wall art, including a print of a painting of Einstein. I wasn't a huge fan of this painting! It was corny and kitschy, and I dislike that reductive "Einstein = generic smart guy" symbolism in general.
Earlier today I was saying something The Little Prince, and a coworker had misheard and thought I was talking about The Prince, and was consequently very, very confused.
Due to a lunchtime bookstore trip, my collection of Esperanto translations of English literature now includes a copy of 'Winnie-La-Pu' in addition to 'Alicio en Mirlando' and 'La Hobito'.
@mycoliza i like the implication that your current account isn't already a container to store your Shitposts in
my plan is to photoshop a scooby-doo screencap so that someone pulls the mask off of a commutative diagram and underneath it's UML, and then haskell programmers will begin throwing medium-to-large-sized pebbles at me in public
@itblumenfeld @n1nj4 When I do it, they call it "admitting".
(To be fair, if you think `charter` is bad and unnecessary, you should see the other thing I just put on Github: a program that adds `new-` to certain arguments and then execs into `cabal`, because I am a lazy, lazy human being.)
Many caveats: it has some weird personal assumptions, is written in a not-super-robust way, is missing several useful features, and is basically a less-flexible `hi`. I'm happy to expand on it if people'd find it useful, though!
This is a Hacky Personal Tool that I mostly created for my own use, but in case others are interested, I've put `charter`, my home-grown command-line `cabal init` replacement, on Github: github.com/aisamanra/char…
I can't believe that there are no Monster Factory jokes at all among the 24 Google hits for the phrase, "…just like Barthes."
@sw17ch here is some exclusive footage of me composing this tweet
@sw17ch 🎵 So it's finally here, evaluating for you 🎵 If you know the terms, you can compute it too 🎵 Calculate some outputs if you want to clap 🎵 As we take you through this dee-kay rap!
In Haskell, the `$` operator is often used to apply an expression to a following do-notation block. Using `$ do` in your code is sometimes referred to as "paying your do's."
my four-year-old son Grungpbo wouldn't switch to Haskell because he wanted to keep programming in Scheme and when I bribed him with type safety he said "Would you rather have type safety or be happy" and turned back to his editor
@pike7464 @galois …this reminds me that I never actually merged my ridiculous heavy-metal-style-font logo for Salty into master; it's still stuck on the ltl_patterns branch: github.com/GaloisInc/salt…
@sclv …I like that we both independently decided to use the "maybe/safely" rhyme youtube.com/watch?v=v6KoVn…
once again, my good and worthwhile ideas are treated with derision and scorn by the good folk Online
@d6 Oh, definitely! I'm putting together some playtest materials for a rough first go, but I'll definitely post some links once I'm confident I've smoothed out a few design issues.
Delve is a more granular, tactics-focused hack of Hero Kids, a classic-D&D-style RPG designed for a very young target audience which consequently has some robust, elegant, lightweight rules for that sort of game: herokidsrpg.blogspot.com
I haven't been posting much about my personal non-technical stuff lately, but right now I'm hacking together a lightweight grid-maps-and-dice-rolling tabletop game I'm calling Delve, and I'm pretty happy with how the materials look so far.
Yesterday I tried using psutils to put together a booklet, and found that the version of psnup that ships with most distros has had a blatant argument-handling logic bug that looks like it's been there since 1995.
@shelfuu @rhiannonstone If it had flour, then it's more of a mornay than an alfredo. Although luckily, a traditional alfredo is probably even easier than something mornay-adjacent: forbiddenriceblog.com/2017/02/25/cla…
@shelfuu (I don't remember if you had my Jalapeño Cream Sauce while you were in PDX, but it's a sauce I make that's a variation on a cheddar-and-jack Mornay, using cream and sour cream instead of just milk for richness and flavor, and adding diced jalapeños and other spices for a kick.)
@shelfuu (If you add the cheese while the sauce is on the burner, the cheese tends to turn stringier. This also applies when making a Mornay sauce—that is, a Béchamel with cheese—which would be a workable Alfredo substitute, but still taste and feel qualitatively different.)
@shelfuu "Fettuccine all'Alfredo" was originally just pasta tossed with parmesan and melted butter, but lots of places started adding cream to make it richer: a modern preparation can be made by melting butter, adding cream, stirring, then removing from heat & adding grated parmesan.
@shelfuu Tedious pedant here! The phrase "white sauce" usually refers to a béchamel sauce, which is milk thickened with roux, whereas "Alfredo sauce" (as it's understood in most commercial contexts) is usually cream thickened with butter and parmesan.
"Ah!" said the doctor. "I know just the thing to cheer you up. Go into town tonight and see Death, Destroyer of Worlds, come here for the destruction of these men."
"But Doctor," protested Oppenheimer,
@thumphriees I do self-hosting + LetsEncrypt, which works really well for my use-case.
ICYMI: I set up a bot to generate new patterns, trends, and methodologies of programming twitter.com/hacker_trends/…
@mycoliza in the sigur rós fandom we pronounce it "svigaplatan"
@n1nj4 @ffee_machine Docs is good at the collaborative editing part, but it's merely alright at the brainstorming part. Wave would let you start basically with a chat conversation and seamlessly switch to document editing, whereas "chatting" in a Google Doc is… awkward.
Tonight's project was to try to create random sky images in the style of Steven Universe's backgrounds. I'm still fiddling and want to introduce more striking colors, but I'm already happy with the direction. (Rust+Cairo.)
@mkawia @RustDevLuke @Dropbox I can't speak to Dropbox Paper, which I haven't used, but w/r/t Google Docs, it can do this but doesn't encourage the same smooth workflow. It's great for the collaborative editing part, but it doesn't have the same affordances to make the brainstorming part smooth.
For your Twitter pleasure: a new Twitter bot that can keep you up-to-date on all the newest trends in programming twitter.com/hacker_trends/…
…but as far as I can tell, all of the developers positioned it as "Email But Better!", which it wasn't, and that (coupled with, y'know, Google) meant that it could never grow into the useful and worthwhile tool it could have been.
It was one of the best systems I've used to do collaborative, media-rich brainstorming, and to then gradually turn that unstructured brainstorming into a shared, cohesive document.
Apropos of nothing: Google's Wave was a genuinely good tool whose developers had zero idea what that tool was actually good for.
@joeranweiler I used to play bass for Primal Dadness.
@theg5prank I also got several people to unfollow me, although I have no idea if it was because of this tweet or because I made fun of cryptocurrencies earlier. Odds are 50/50.
@theg5prank This got an early, semi-nonsensical quote-tweet from some kind of accelerationist cosplay account, which I assume was what led them all here. I've been giving Twitter's block feature a pretty good workout today.
@vrika I looked on their issue tracker, and someone had brought this up last year. The devs did some complaining about how "people are too sensitive" and how "slavery is over, get over it", and pretty quickly closed the issue. I'm not sure it'd be worth trying to reopen it.
I really thought Godot looked interesting, but the fact that a decision like this didn't get shut down right away speaks so ill of their developer community that now I don't want to have anything to do with it.
I can't believe that in 2018 people think it's acceptable to create systems that not only use "master"/"slave" terminology, but literally use them as keywords: docs.godotengine.org/en/3.0/tutoria…
@paul_pearce I also responded too quickly to see your second tweet. …asynchrony is hard.
@paul_pearce He was at University of Oregon, not at Berkeley, so I'm pretty sure no.
Coincidentally, Lambο Mοοn is my favorite Star Wars character.
A person I TA'ed for in grad school (and whom I haven't talked to since) just sent me an email about some kind of ІCO he's involved with, and the whole thing just reads like cryptο bro Lorem Ipsum.
@Blaisorblade There's a bit more detail here, down under the "inheritances" section, and it also describes the third way to use them, where you combine functions that might fail in order to get a definition-by-cases-ish syntax: brej.org/blog/?p=238
@Blaisorblade Almost like a union, except changes to the original unions will also reflect in the "inheritances" created with that union. In that sense, it works sort of like inheritance of fields in OO languages, but exposed as an operator instead of a feature on class definitions.
@Blaisorblade I only posted one-third of the possible uses for "inheritances", and one of the others makes more sense with the name: if you use the `|` operator on hash maps, you get a hash-map-like object that inherits its keys and values from the constituent hash maps.
@raudelmil I mean, to be totally fair to the language, it's not intended for structured programs that are bigger than one file of a hundred or so lines at most, so including a feature that's useful in small limited circumstances might not be inherently a bad idea?
@tsion people would definitely love to have this sort of thing in the Rust standard library probably gist.github.com/aisamanra/6157…
@tsion When I started reading your tweet, I had immediately started thinking of docs.perl6.org/type/Junction, which are yet another way of combining several dynamic values into a single value. Apparently Perl 6 likes those a lot.
@psygnisfive Apparently when you do it with hash maps, it's literally a union; when you do it with functions, it will call the first one, and if it fails, call the second, &c, for a sort of dynamic definition-by-cases mechanism.
I learned today that 1. Plymouth—the software for showing graphical loading animations while a Linux system boots—has its own custom scripting language, and 2. that scripting language has some ideas that are… uh, well…
@joeranweiler Ah, Arzona, the place that humans built.
w/r/t my recent comments about wanting the proposed throw/catch for Rust to be macros: @withoutboats pointed out to me that `catch` wouldn't work as a macro because it needs to work on the AST after all other macros have expanded twitter.com/withoutboats/s…
@withoutboats To a first approximation, I'd argue that pervasive features should be syntax, and convenient-but-not-as-widespread features should be macros if possible. A major factor in my opinion here is that I'm not yet sold that throw/catch sugar would be as pervasive as if/else or even ?.
@withoutboats I don't think macros are inherently better, either: there are trade-offs between the two. Rather, I think a feature like this should be, if possible, at least prototyped as a macro or compiler plugin, even if it doesn't live as one forever.
@withoutboats I don't disagree, but I also think the reason that ? was so well-received was BECAUSE it was a macro first. With try!, people could discover in practice 1. why the operation was useful and 2. why it was too heavyweight as a macro and needed a better syntax.
anyway, here's an inspirational quote for your cubicle
I said this in tweet form last week, but I tried to expand out my thoughts about why I'd be more comfortable with the Rust try/catch pre-RFC if it were macro-like instead of using new syntax: internals.rust-lang.org/t/pre-rfc-catc…
Well, even though I gave up while drawing this comic, I still feel like I learned something from it. It's not a complete loss.
yes very good twitter.com/grammarian_rin…
@silentbicycle @skelly No, YOU are owned. Read this academic text:
@ijks_w (The macro/plugin approach also has the advantage that non-rustc tooling around Rust—like, say, syntax highlighters—wouldn't need to change in order to support these new features.)
@ijks_w …and I think I'd be more comfortable if those were included to look at their practical use, and if they turn out to still have major ergonomic issues, to scrap them in favor of syntax, instead of going straight for new built-in syntax.
@ijks_w I think `?` was definitely a step up, but it also made me happy that it was only created after the problems with `try!` became apparent. I'm less convinced that e.g. `throw!` or `#[catch]` would have the same problems…
The fact that try/catch don't introduce "magic", but rather just desugar to plain Rust, is exactly why I think they shouldn't be new language features. Unlike many languages, Rust has a good macro system. I wish they'd use it for this.
It might be my Scheme background speaking, but proposals like this one for new built-in syntax that could easily just be macros make me very disappointed: internals.rust-lang.org/t/pre-rfc-catc…
@thumphriees "This Whole Thing Emacs Of Gender," i holler........
Recently, Jira updated their UI to include a lot of opaque icons. Luckily, this icon had not one but two pieces of tooltip text to explain what it means.
(…of course, the other thing about Splatoon is that it really makes me want to eat some barbecue squid. Is that wrong? That might be wrong.)
"hey, getty, how're you liking that new video game?" glad you shoudl ask! well, for one, it has GREAT fictional squid typography…
It's a fun game in lots of ways, but my absolute favorite thing about Splatoon 2 is the excellent graphic design work they do with nonsense writing that nonetheless looks totally believable.
OCaml's syntax (like all syntaxes) has some corners I don't really care for; Reason cleans those up and introduces some of its own. I think it might be an improvement overall, but I don't feel strongly about it.
Today I wrote a small OCaml program and then ported it to Reason. (I have OCaml experience, none with Reason.) My overall verdict is that they're both good and I have no strong preference between them.
@sclv *java adds lamndas*
haha wowe limke hamskell !
*adds optionm type*
jus lieke heskel !!!
*terible performamce problems*
@ijks_w This is true, but at the same time, there's an enviable kind of skill in creating logos as clunky and awkward and ill-considered as GNU project logos.
LRT: I'm in no way good at logo design, but I've tossed together some simple logos for various projects—both mine and others—and I like to think I'm reasonably not terrible at it.
@mrkgrnao @plt_dril (On a related note, if you haven't seen it, you should know about @maxkreminski's work-in-progress game where you are dril and you make posts: twitter.com/maxkreminski/s… )
@mrkgrnao @plt_dril (Oh, no defense needed! I know exactly what you mean—I've done it a few times myself! e.g. this one twitter.com/aisamanra/stat… There's both fun and art in figuring out how to repurpose the phrasing and context while keeping it recognizably "a dril tweet".)
@sclv …the worst thing is that my brain has been turned to mush by obscure twitter for so long that, err, well twitter.com/aisamanra/stat…
@mrkgrnao (I think I might have phrased the text of the tweet in a snarkier way than I intended; I should be clear that I also love the dril accounts, and @plt_dril is wonderful.)
Why is it that novelty topic-specific twitter accounts are always dril parodies? There are plenty of jokes out there from non-dril twitter users that you can borrow the format of.
On a somewhat related tangent: my favorite chengyu, or Chinese four-character idiom, is 畫蛇添足 (huà shé tiān zú), which means "draw a snake and add legs," and refers to ruining something by adding too much to it.
@trannosaurusma Be my guest! (…I'm nervous about telling my mother that people are borrowing her interpretation, though. It might encourage her to get deeper into literary interpretation.)
(This came up because she didn't cook any of the dishes at dinner, and then claimed that her lack of contribution was the best part of the dinner and therefore "…just like the Emperor's new clothes", and offered the previous explanation when we asked what she meant.)
My family story from this holiday season is that my mother believes the moral of 'The Emperor's New Clothes' is that "…the best clothes are the ones that don't exist."
@Jyrinx Or sometimes even more benefit: I didn't go into it, but the briefly-mentioned Hedgehog gives you test-case shrinking "for free" in part by not trying to have a one-size-fits-all generator for a type, but rather relying on extra data passed into generation functions.
@Jyrinx This makes sense, but even then, sometimes I prefer using explicit functions or dictionaries. I could write a generator for a new data structure with `Arbitrary a => Gen (Foo a)`, but I could just as easily use `Gen a -> Gen (Foo a)` and get similar benefit.
I emphasize in the post, but I should emphasize here: this is meant to be descriptive and not prescriptive. I want to explain my thinking and principles, but I also don't for a moment think mine is the One True Style.
New blog post: a few words about the personal style and general principles I try to adhere to when writing Haskell: blog.infinitenegativeutility.com/2017/12/some-n…
At some point, I created a branch in this repo named 🙈. I have no memory of having done so, but it's to be fair a pretty accurate branch name.
…I should be fair: I am making fun of this because it's stunningly Rube-Goldberg-ey, but I am also using it even as I write this tweet.
tiny brain: cross-compilers
galaxy brain: using a custom kernel to automatically execute ARM binaries using QEMU in Docker containers
universe brain: tricking Docker build with an sh shim to execute ARM binaries using QEMU in Docker containers
This is a fun blog post in part because you can mentally pair each section, in sequence, with a corresponding expanding brain picture: resin.io/blog/building-…
@thumphriees Please let me know if you find or create this, because I would absolutely use it. (…relatedly, I should start using a 'typeclass-free' Github badge on all my repos.)
@shelfuu @acfoltzer (I should cook a wider variety of things on a regular basis, because as it stands about 98% of the tomato paste I buy ends up as a vodka cream sauce constituent.)
@acfoltzer @shelfuu I've got cans of tomato paste from two brands in my cupboard right now, and it doesn't look like either has added sugar, but OTOH, they both have the word "organic" on the label, so probably a notch above Hunts.
@sw17ch Back during high school I used to play bass for Hot Dog Homestead.
(I know I'm a grouch and the world has Moved On From This, but I will never stop resenting error messages that say "Oh snap!")
(In theory, light-hearted software is great, but in practice, that light-heartedness is either put there by marketing departments, or by programmers—two of the groups I trust least to be entertaining.)
The bad Firefox advertizing thing brings up my two biggest software pet peeves: I never want software to do something without my explicit intention, and I never want my tools to entertain me or otherwise introduce unnecessary levity.
@ndm_haskell @Blaisorblade @jtdaugherty Which is why the question on my mind wasn't, "Can we make HLint hints more universal?"—which is a very good goal!—but rather, "Can we somehow prevent this unnecessary maintenance work by somehow emphasizing that not everyone is going to appreciate the same hints?"
@ndm_haskell @Blaisorblade @jtdaugherty FWIW, this entire thread started because another library maintainer I know was complaining about having to close "drive-by PRs" where people would blindly apply HLint suggestions and try to contribute them back.
A google search led me to this sage advice from a commenter on newsy combinator. "Technically undefined."
@jtdaugherty @Blaisorblade @ndm_haskell That is: all hints should be opt-in by default, and the tool can (upon first use) explicitly ask the user about whether they want all hints on, even contentious ones, or some subset thereof.
@jtdaugherty @Blaisorblade @ndm_haskell I think there's a reasonable assumption when coming to a linter-like tool that the defaults are going to reflect some standard consensus. If that's not the case, then maybe hlint should fail without an explicit configuration step.
@dackerman @mrkgrnao I don't know what "devil's steelvocate" is supposed to mean here, but I don't agree that it's "simpler" for values of "simple" that I care about, regardless of how familiar arrows are.
@pasiphae_goals Oh, that's good to know! (I briefly tried using HLint years ago, and nnever adopted it as a habit, so this was a second newer exploration.)
@mrkgrnao This is true, and also I'm being a little bit snarky by tying my two comments above together—my real problem with Arrow-the-typeclass is that it's too big and tries to abstract too many things, and not that any one operation it exposes is necessarily bad.
(Of course, I'm still not convinced that the Arrow typeclass is the right tool for just about any situation, so that's probably biasing me, too.)
I know that tastes differ and all, but I feel like hlint's suggestion here—importing a new module for a more opaque higher-order typeclass method—is significantly worse than just using a lambda.
@d_christiansen (Estas lerte, ke Unicode reprezentas flagemoĝiojn kun sekvoj de alfabetaj signoj konforme laŭ regionaj normoj kiel ISO-3166—ekzemple, la signo 🇺🇸 estas 🇺+🇸—sed tiu ĉi elekto estas problema por flagoj kiel la Esperanto-flago, kio ne estas flago de lando!)
@d_christiansen Mi ankaǔ lastatempe trovis, ke Unicode ne havas verdan stelon, sed ĝi havas verdan koron! Mi pensas, ke 💚 estas nuntempe la plej konvena esperantemoĝio.
…it's what I do.
…and here I was thinking nobody sold t-shirts for my demographic twitter.com/tshirtsbot/sta…
I made a mediocre joke and I thought my coworker was mashing the keyboard to express frustration at the joke, but it turned out she had just accidentally tapped her Yubikey.
@joeranweiler Are the pages still good? You can always rebind it and/or get it rebound, if you want to keep it in some usable form.
"The committee, formed at the '87 FPCA conference, was tasked with creating an open standard for a non-strict, purely functional language. This has made a lot of people very angry and been widely regarded as a bad move."
@thumphriees how does it feel over there with the thermidoreans
@iximeow At one point, I considered naming a twitter client after the one featured in this game mockup, but that seemed perhaps a tiny bit tacky. (…also, I never actually wrote the Twitter client so it was a moot point anyway.) twitter.com/bonerman_inc/s…
Ah, yes, yesterday we released a new version of the chat client that I work on: twitter.com/matterhorn_cha…
I'm going to be honest here: I will never be able to read the word 'WASM' in anything but a Wario or Waluigi voice.
@d_christiansen Estas multe interesa por mi! Ĉu vi havas rekomendojn por rimedojn aŭ librojn, kun kio mi nun povas komenci studi?
@FireyFly It's a grid of random glyphs generated from the same program I'm showing off here: twitter.com/aisamanra/stat…
@d_christiansen Mi ne nun lernas malnovnordlandan, sed mi volas fari ĝin. Mi legis iomete malnovnordlandan gramatikon kaj estas tradukinta malgrandajn tekstojn—kiel mi estis faranta, kiam mi trovis 'fámennr'—sed mi ne akiris la konvenajn librojn aŭ rimedojn por ĝin lerni.
@d_christiansen Estas stulta ŝercaĵo: mi trovis la vorton 'fámennr' en vortaro kun la angla traduko 'having few followers', kaj mi estis iomete amuzata, ke la angla traduko povas havi du sencojn je tvitera kunteksto. (Mi pensas, ke nek senco estas komplete vera por mi.)
I haven't done these for a while, so here's a diagram for a tasty cocktail that @rhiannonstone and I tried making this week: cocktail.graphics/cocktail/la-si…
@mcclure111 From quick experiments, it looks like Ruby treats it not as whitespace but as an identifier character. GHC does treat it as whitespace, and it looks especially great given that Haskell is indentation-sensitive:
blessed image
(in "not knowing what left adjoint in the category hask means" voice) looks like i'ts left adjoint in the category hask,
Oedipus then approached the Sphinx, who posed her infamous riddle: "What is that which walks on one leg in the morning, two legs in the afternoon, two legs in the evening, and one vertical and one horizontal leg at night?"
ICYMI: I made a #TheZoneCast-inspired Twitter bot that creates new D&D spells by replacing one letter in the names of existing spells: twitter.com/grammarian_rin…
@Blaisorblade @trannosaurusma @pigworker For what it's worth, as I am the author of the post in question: I am pretty sure I deeply agree with Conor on these topics, and only really disagree on how to talk about said topics. I'd definitely never want to throw out Curry-Howard!
@DanielRecker @tsion @TheZoneCast I've seen people use @TheZoneCast's items in their own campaign before, but I don't know if they had official stance on that. My guess is that, as long as it's your own campaign and not, like, an adventure you're selling, you're probably fine?
@jtdaugherty I think my favorite that I've seen so far is Phantasmal Farce.
(It'll tweet four times a day right now—there isn't a giant space of possibilities, and I don't want to exhaust them all too quickly!)
Their example was casting the spell Cause Fear as Cause Bear. Anyway, I was shocked there wasn't a Twitter bot for these, so I made one: twitter.com/grammarian_rin…
In @TheZoneCast's D&D game, they had a magic item called the Ring of the Grammarian. It allowed you to modify by one letter the name of a spell you were casting, with a corresponding change in effect.
@thumphriees This isn't what you want, but it's a project I started and desperately need to get back to: github.com/aisamanra/apic…
@joshbohde As a Lúcio main, I sometimes struggle with the striated nature of many of the walls, but that does not mean that a smooth space would suffice to save me.
Tonight someone added me as a friend in Overwatch because I made a joke about how Genji is the most Deleuzean hero. (Genji is, after all, the hero who has a body without organs.)
@sclv what do my sense of humor and jpeg encoding have in common? they're both............

@sclv …I am somewhere between pleased and horrified that this is the kind of thing that needs to be brought to my attention specifically.
There are definitely tradeoffs to this new API, but it's nice to update configuration from within an application without clobbering careful comments and config formatting choices.
I've pushed a new version of my INI-parsing library with a new bidirectional API. With this API, you can parse a file to a value, modify the value, then reserialize to INI retaining existing comments/whitespace/structure/&c for minimal diffs: hackage.haskell.org/package/config…
I'm using the tweet I criticized here as a jumping-off point, but I want to be clear that what I take issue with is the broader rhetorical tendency, not just a few specific tweets: twitter.com/aisamanra/stat…
Here's a quick opinion-heavy post about my problems with certain rhetorical tendencies in functional programming circles: blog.infinitenegativeutility.com/2017/11/proofs…
My brother tried to text me about the 'Coriolis effect' but his phone corrected it to 'Coriolanus effect'.
@thumphriees sounds like your mistake is leaving yourself room. your tweets cant get worse if they're already as bad as humanly possible. man_tapping_head.jpg
@BenjaminSelfrid I could always go over to Mastodon, where I post semi-regularly and where I've never even gotten close to the 500-character toot limit.
…I mean—in all honesty, I've never wanted to tweet 280 characters, but there have been a lot of situations in which I wished I could tweet about 160 characters.
@d_christiansen @JonSterling It's wonderfully smoky. …I've heard stories of people smelling large pots of lapsang souchong and mistaking it for the smell of actual fire.
I identify strongly with Rust's #[no_std] mode, as I too have an eh personality.
I told a coworker I wanted some books on resist dyeing—batik, shibori, &c—but he heard it as 'resist dying' and thought I meant D&D manuals.
Here's my advice on software engineering:
…for this Halloween, I dressed up as one of my original role models: twitter.com/rhiannonstone/…
OH: "Is there a shitty_category_theory subreddit?" "You mean r/haskell?"
…I'm clearly rereading @eevee's wonderful post 'Dark corners of Unicode' which you should really read if you haven't eev.ee/blog/2015/09/1…
U+2800 is valid in Haskell source code, but it treats it as an operator symbol, so it looks like I'm somehow overloading whitespace here:
U+2800 BRAILLE PATTERN BLANK is a character that renders as a space, but is not actually whitespace. Ruby will allow it in identifiers:
@DanielleSucher (…isn't orcish tea just bone broth?)
@freebroccolo @JonSterling I've got an account I rarely post on and only follow a few people, but I do check it daily and definitely enjoy it a lot more than Twitter.
@iximeow (There's basically a 0% chance that Java would have done this even if it were proposed, but I hope some future language designer builds it.)
@iximeow (I wanted a language with inferred checked exceptions, so I can benefit from them without having to tediously list them for every function.)
@donsbot (…maybe I should have kept it Applicative-only and then maybe I could have used it bidirectionally? I guess I should experiment with that.)
@donsbot That example doesn't need Monad, but the language is monadic. (That was just an example I happened to have conveniently on-hand.)
Anyway, today I read an RFC ( tools.ietf.org/html/rfc7763 ) that described Markdown as being an "internet meme", so, uh, that's… a thing…
It's a small, inconsequential thing, but I pushed a simple monadic helper DSL for XML parsing to Hackage today: hackage.haskell.org/package/xleb
@Friends_Table For #inktober days 7–10: the rest of the Overwatch characters I play regularly. (Also a stark illustration of how bad I am at drawing lips.)
@plaidfinch (The color space transformations were something like L*a*b* → CIE 1931 color space → sRGB → RGB, which… oof.)
@plaidfinch I don't recall whether there was an easier answer than that, which I think is why I at the time gave up and used off-the-shelf colors.
@plaidfinch I looked into doing this once, and IIRC the answer was to do so in the Lab color space, then go through a series of conversions to get RGB.
@Friends_Table #inktober day six is some mushrooms and a bun, for a change.
@jong (I can't recall the last time I actually touched an OS X machine, so I assume I'm probably safe there. …still, what a fun bug-feature!)
The escape sequences are a bit hairy—and only work right now in gnome-terminal and iTerm2—but you can easily use them in your own scripts:
Some terminal emulators now support hyperlink annotations via escape sequences. I'm currently adding vty/brick support for this feature.
@Friends_Table #inktober day five is a throwback to old conlanging and world-building efforts.
@Friends_Table #inktober day four: back to the Overwatch characters with a quick sketch of Mei.
#inktober day three is Lem King the archivist from @Friends_Table. (I almost never use markers. I should practice with them more.)
Here are two bad Silmarillion puns that I hope I never illustrate:
· Yavanna White
· Tickle-Me-Ulmo
…actually, here's a question: I want to keep posting my #inktober drawings with minimal annoyance. Would it be it better to:
#inktober day two: Ulmo, Lord of Waters, one of the Valar.
@glaebhoerl @thumphriees …with lens in an identifier-specific way, but it's definitely more focused on making it a nicer and more approachable library.
@glaebhoerl @thumphriees I think that microlens is more about dependency-management, and lens-family-core is closer to what you're describing. It's still compatible…
@glaebhoerl @thumphriees (I would probably say 4% yes, that other 1% no, but that's more kneejerk than informed.)
I've still been playing Overwatch, which is probably gonna be a recurring source of #inktober subjects this year. (I play a lot of Lúcio.)
@thumphriees (This is the secret of lens: less than 5% of the library gets you 95% of the way there. The rest is just garnish.)
Honestly, the most charitable way to interpret this comment is as pointing out the dire limitations of thinking in terms of Curry-Howard.
"If you ignore the many practical factors I've chosen to ignore, then this broad, facile, largely unhelpful equivalence I've drawn is true!"
This is my least favorite kind of programming rhetoric that comes from people I in general basically agree with.
@jong …I wake up in the middle of the night, panicked, thinking, "…oh my god I'm could be doing so much more to piss people off with my code."
…I assume this place has a step-by-step program that can help you defeat your addiction to over-engineered project management platforms.
@thumphriees don't ack me
I forgot that we're right in the middle of the sansculottides right now. en.wikipedia.org/wiki/Sansculot… Happy fête de l'opinion, everyone!
@silentbicycle …I also forgot that my car's bluetooth system, for whatever reason, thinks that said voice clip is a 50 Cent song.
The fact that @tedwheeler is claiming this center brings "quality jobs and benefits" is misinformed at best, vile and underhanded at worst.
Amazon fulfillment centers exploit underpaid workers for back-breaking labor. I'm angry my city is hosting this. twitter.com/tedwheeler/sta…
@AdamBatesOrg @ntcomplete And after that they skipped 9–63, but retroactively.
@aaronmblevin …this is my coin, and the proof-of-work is shitposts, but, like, chained together in a block
I mean, look in this example: the same glyph repeated is getting glossed as both (d) and (oz) in the first word. Why? ¯\_(ツ)_/¯
…also, the one going around isn't particularly convincing: its actual "decipherment" is scant, and is mostly non-rigorous pareidolia.
I know people are excited, but a good default position on Voynich "decipherments" published by non-academic sources is extreme skepticism.
@cmrx64 It's not the most user-friendly thing, but I use extensions that let you inject custom CSS to sites, which lets you hide promoted tweets.
The way I play Lúcio is I mildly frustrate the enemy team by doing this as often as I can, and then we lose 'cause I wasn't healing my team.
@ffee_machine Wau, I haven't thought about digamma in forever.
…do y'wanna see variables from alphabets that are actually obscure and/or dead? 'Cause I got you covered: twitter.com/aisamanra/stat…
Yeah, I get the joke, but y'all know the Greek alphabet is not dead, right? 12 million living people speak Greek. twitter.com/DanTwoHundred/…
I am very bad at animation, so I spent part of my Labor Day working on a self-portrait walk cycle.
"getty i know you know how to use the shift key" yeah but lower-case letters and bad grammar are how i indicate casual speech. deal with it.
"but that game came out like a yr ago" …yeah but up until i replaced it in june my gaming pc only had a 32 bit cpu & couldnt play that game.
"getty you haven't posted a lot about your personal projects lately" i know but like im pretty good at both lucio & roadhog in quickplay now
In my fanfic, I like to pair a message with a string of random bits the same length as the message itself. This is my OTP.
actual photo of me reading your tweets:
Good morning, internet! I found this picture of a Sardinian statue head on Wikipedia last night and it's amazing. en.wikipedia.org/wiki/Giants_of…
@tsion …is this not true?
(My philosophy lately has been, "If I have to explain something to someone else in chat, I probably should write it as a blog post, too.")
✏️ Blog post: my own stab at explaining Rust modules, with both general principles and concrete examples: blog.infinitenegativeutility.com/2017/8/the-bas…
@EmpressCortana the resemblance.......... is uncany..............
@intlfish So I take related modules and give them a shared, shortened module alias. Only for groups that don't conflict and are conceptually related.
@intlfish I like it because otherwise it's easy to have a proliferation of new namespaces. It's easy especially in Haskell to import a LOT of modules.
…so, if it a tweet works as both an explicit and an implicit call-out, is it a switchtweet?
@sw17ch twitter.com/eedrk/status/5…
@joeranweiler …I'm not sure I understand the objection. The only objectionable thing I do is wordplay, and even then, the jury is still out probably.
@joeranweiler …this isn't a pun?
@ChadScherrer twitter.com/shutupmikeginn…
You can get a similar effect in Rust by combining a local `mod` and `pub use`, and I also do this increasingly in the Rust that I write.
Haskell's modules have a LOT of problems, but one thing I love is this ability to expose multiple namespaces under a single qualified name.
@mycoliza 🤘🤘🤘
I didn't know about shadow bands until today, when I observed them first-hand and then had to google for the name: en.wikipedia.org/wiki/Shadow_ba…
(…if you see a beardy flannel-ey dude at RustConf opening up GIMP in between talks to make awful posts, that's me and I'm so very sorry.)
trying to buy eclipse glasses in portland:
Some people claim that secret Lisp compilers are being illegally distributed on the dark net, but I think this is just a cons-piracy theory.
@bcjbcjbcj @steveklabnik This offer sadly only lasts for the duration of the words in the tweet, but that'll be fixed when we get non-lexical ass kicking lifetimes.
come to the borrow checker in the next fifteen minutes if u want an ass kicking
@joeranweiler @sw17ch same
(CAmkES is kind of a complicated mess—and you can use Robigalia to sidestep CAmkES entirely—but I didn't have the luxury of doing so here.)
A thing I've been working on: SeL4 (running in QEMU) where the CAmkES components are written in Rust using Robigalia's SeL4 bindings.
…well, I finally tried setting up the Twitter app on my phone, so now I can tweet like it's 2007.
Keep an eye out for my next project: a data interchange format inspired by JSON and COBOL, which I call COBOL OBJECT NOTATION, or CON
Eventually someone will have attempted to create a JSON-inspired "object notation" for every programming language that exists.
(…also, RustConf is being held two blocks from my work in the city where I live, so it would be very silly of me not to go. Still!)
I don't think I've said so on Twitter yet, but I am in fact going to be at RustConf this year, which I'm very excited for.
@joeranweiler Have you read any Ted Chiang? His short stories are amazing science fiction. (The recent film Arrival was based on one of them.)
@shelfuu @acfoltzer It is absolutely a thing worth trying, because I know plenty of people who swear by it, but it might not be the end of your search.
@shelfuu @acfoltzer FWIW: I tried melatonin and it was sometimes helpful, usually neutral, sometimes Bad. This isn't a common reaction, but it's not unheard of.
@acfoltzer @shelfuu or you can just chug a nyquil literally every night till you sleep. nothin wrong with NYQUIL FOREVER CHUG A LUG
I hate when childrens' shows use bad grammar on purpose to try to be cute. The correct conjugation is
yo gabbo gabbo
tú gabbas gabbas
él gab
(This is on my mind cause I got followed by some kind of Pepe-using far-right type. I am not here for that shit. I blocked 'em immediately.)
But, like, let's be clear: I am still an Unrepentant Social Justice Warrior who is fighting for Fully Automated Luxury Gay Space Communism.
I don't talk about politics/current events on Twitter much, not because it's not important, but because it can be stressful and difficult.
going t o start saying, "Sandwich" whenever i see an y kind of food. e.g... "thats Sandiwch" or "that blini is Sandwich to me"
weakly considering making a twitter bot to automatically broaden the definition of "sandwich" by asserting that random things are sandwiches
…sometimes, you look at a substructural logic and you just think, "That is a fine logic."
@thumphriees @Apple (…'thunderstorm' and 'large', respectively. …although it's been so long since I practiced my hanzi I can't actually read most of the rest.)
@thumphriees @Apple For what it's worth, it looks like the 雷雨 that's headed your way is gonna be pretty 大.
By the end, I had precompiled images + packages for Void Linux (my distro of choice) that ran on our fake extended x86. It was a lot of fun!
We wanted to test proposed anti-ROP hw instructions, so we implemented them on top of x86_64 in QEMU and added compiler+OS support for them.
Here's some reports about a cool project I worked on where we ran Linux on a fake processor architecture we invented twitter.com/acwpdx/status/…
@JaLibertad @mattoflambda I'll bet it could get pared down even more if GHC would add newtype families in addition to type and data families.
He also said he'd love to meet an actor on the show and tell them how much he loves GoT: "I mean, I've never seen it, but I do work retail."
I asked someone why it was so empty. He said the biggest lulls—bigger than during sports or the election—are always during new GoT episodes.
I was bracing for a busy grocery run today, only to find that the store was well-staffed but otherwise oddly empty for a Sunday evening.
The Matterhorn chat client we've been working on now has its own Twitter account for updates and information: twitter.com/matterhorn_cha…
Right now I just want people to see this frankly amazing diagram I found somewhere deep in the Blender manual pages last night:
@tsion @deech @donsbot But I think the goal is good—and indeed, I used it last week because I wanted to accessibly format Rust code I was putting into a blog post.
@tsion @deech @donsbot I think (with one exception last week) I last used rustfmt when it was much less mature, and ran into a pathological case pretty quickly.
@deech @donsbot But I haven't tried scalafmt, and I also haven't tried rustfmt or hindent in years, so maybe my opinion is just out of date at this point?
@deech @donsbot I would never balk at a project that mandated autoformatting code, but my personal issue is I've never found one that produced code I loved.
@donsbot That does make sense—that's a scale I've never worked at, and I have difficulty even imagining the concerns of working at that scale.
(I still wish Löve had an authoring tool like Flash's, which is an easy-to-pick-up combined vector art program and programming environment.)
I understand completely why the Player is being phased out, but at the same time, I can't help but feel some nostalgia for what Flash was.
I did a lot of Flash+ActionScript in high school. It's how I first did artistic and creative programming. I have a real soft spot for Flash.
…this is snarkier than I actually feel about it, but it does accurately capture that I have no real personal interest in auto-formatters.
"Those who would give up essential Readability to purchase a little Stylistic Consistency deserve neither."
—Ben Franklin on autoformatters
@theg5prank This is true and several of my coworkers do so. Fucked up but true. (I think the *** ligature, where the center * is raised, is the worst.)
(yes the post-its on the wall are there to help me figure out puzzles in the witness and also yes i know that game is like 1½ years old now)
I'm not usually one to talk a lot about new purchases, but I have wanted one of these drawing tablets for ~15yrs so I am really excited now.
The shorter explanation is just "Existential Lifetimes", which ironically was also the name of my failed Camus-inspired cable TV project.
This is just a tidied explanation I gave a friend over the weekend. Let me know if it's unclear, or typo-ridden or, y'know, just plain bad.
A quick explanatory blog post: using the `for` syntax to quantify over lifetimes in Rust types blog.infinitenegativeutility.com/2017/7/lifetim…
@shelfuu @psygnisfive
@shelfuu @psygnisfive This sounds like an incredibly dangerous and painful thing to do, and I am glad you survived.
…been a while since my ebooks bot dropped a real good opinion: twitter.com/guwan_aisamanr…
One thing about our present that I haven't gotten used to yet is mini marts selling USB cables at checkout, right by the cigarette lighters.
@itblumenfeld @aaronmblevin …well, also I had a hell of a time getting people willing to sit down and learn the rules, much less play with me. So there's that, too.
@itblumenfeld @aaronmblevin Yeah; it ended up being still vaguely interesting to play in 3–4 dimensions, but for 5+ even a small "board" had too many axes of freedom.
@aaronmblevin (…during undergrad, I wrote up some rules for and a Python implementation of n-dimensional chess variants. They honestly weren't that fun.)
PROGRAMMING TIP: be sure to give your git branches informative and memorable names!
@ckunzelman This is a thing in bird-watching, too en.wikipedia.org/wiki/Jizz_(bir…
@sclv It is well-known in Haskell folklore that "Hask"—while often treated as a category—is not a true category. Similarly, Haskell "jokes" are of
@sclv howdy. im the sherriff of taking already bad topical jokes and making them worse by making them about haskell. im gonna take your already ba
⠀⠀ ⠀⠀  🤠
 (.>) (*~) (+=)
👇 (#=)(^~) 👇
  (^?) (?~)
   👢  👢
howdy. im the sherif of updating lenses. im gonna update your le
@theg5prank Part of me still believes that a good git wrapper script must be possible. …despite a complete and total lack of evidence for this belief.
Ah, yes, this is an intuitive and completely non-insufferable naming choice.
This sentiment is brought to you today by Google's inscrutably awful 'repo' tool.
Well, it turns out there's something worse than git submodules, and it's: literally everything out there that tries to replace submodules.
So today I connected it to my car for the first time, and was treated to @griffinmcelroy's looping voice saying, "I think dogs should vote!"
When my phone connects to Bluetooth, it starts playing a loop of every MP3 it has. Mine has just one MP3 on it, one I use as a text alert.
@shelfuu @sw17ch …this tweet has been a topical joke about the almost-8-yr-old comatogenic hit track 'fireflies' by owl city, thank you for your attention
@shelfuu @sw17ch "you would not believe your eyes / if two dogs laid down lengthwise / licked on the grass as i made a tweet"
Okay, sure, I guess I can get in on #DescribeYourCreativeProcessWithAGif
(…if this tweet renders weird for you, it's because I was taking necessary precautions to avoid getting followed by crypt໐currency bots.)
If you need a name for your bl໐ckchain-like distributed cryptographⅰc ledger st𝖺rtup, I have a suggestion: Ledgerdemain
@dysinger I have not used it myself, but @jtdaugherty has written the dbmigrations package for this task: hackage.haskell.org/package/dbmigr…
@rektide It is—perhaps boringly—just the Wikipedia page's character section: en.wikipedia.org/wiki/The_Faeri…
The character names in Edmund Spenser's 'The Faerie Queene' all sound like the output of a mediocre neural network trained on English names.
@sigfig …as soon as I said that, I realized my last system update also updated fontconfig, so I'm gonna assume the answer is in there somewhere.
@sigfig That's what I assume, but I don't know what happens in otherwise routine system updates that makes font fallback suddenly change.
(Previously, on Bizarre Linux Font Rendering: twitter.com/aisamanra/stat… )
…some day I will figure out which part of my super-hipster Linux setup is responsible for occasionally making various letters extra-tiny.
@1HaskellADay @atticusbones Not yet; I'm still mostly just experimenting, but once I've nailed down a few of the details I'm unsure about, I'll put it on Github!
@atticusbones There's also a built-in operation for "mirroring" a block of code, so this is the same code with numbers changed and a call to `horizontal`.
Today's afternoon project: a simple Haskell library for algorithmic pixel art, which I tested by making some @atticusbones-style glyphs.
This phrase popped into my head and I am frankly shocked that some dad-like person hasn't already used this name for their prog-rock blog:
I know some people like this style, but my brain sees it and assumes the last ⅓ of the glyph was meant as an exercise for the reader.
…has anyone forked Fira Mono but given it a proper at-sign? I want to do this myself, but maybe someone else already has and I can be lazy.
The state of the internet in 2017 is a mixed bag, but on the bright side, at least we don't make those "demotivator-style" images any more.
Neural networks are all about pareidolia: remember how we used them to imagine dogs into photos? Of course they'd see meaning in this noise!
…for my own part, I think this is a radically unsurprising result, and am disappointed that it was so breathlessly repeated and shared.
Remember that headline about bots "developing their own language"? This is what that language looks like (via languagelog.ldc.upenn.edu/nll/?p=33355 )
Twitter feature suggestion: the ability to mute multiple accounts based on a regex, so I can mass mute WeRate.*
@acfoltzer …how do you make someone else's tweet your pinned tweet
This is the most hipster way possible of defining linked lists, which is why this kind of type declaration is called a "fixie".
@ReinH @d_christiansen I went ahead and put the Markdown equivalent of the body here; plain text would be easy, too: github.com/aisamanra/hadd…
If you're like me, you regularly forget Haddock markup syntax, so I made a quick-reference sheet to help with that: github.com/aisamanra/hadd…
(..........it's a videodromedary)
@vrika My brother once told me he'd consider using Siri if its voice were Werner Herzog's. I think I might if I could use a Sindarin-language one.
Free SIGBOVIK paper idea: an introduction to symbolically executing bodily motions, a.k.a. the theory of Uninterpretive Dance.
Why would I want to ever want to speak aloud to my desktop computer in any capacity at all? I got nothin' to say to it.
I built a new computer for playing video games, which means Windows, which means hours of trying to turn off all the crap that come with it.
I would straight-up pay extra money for a barebones version of Windows that didn't have stuff like Cortana and an Xbox app bundled with it.
A coworker today hurt himself energetically playing a VR game. Another coworker warned him: "If you die in real life, you die in the game."
@SommerPascal And also the GHC extension that allows for extended automated deriving of typeclasses for certain data types: downloads.haskell.org/~ghc/7.2.1/doc…
@SommerPascal It is a silly, lazy, very bad pun about the concept of a dérive as described by the Letterist collective in the 50's en.wikipedia.org/wiki/D%C3%A9ri…
Sadly, I can't think of a good setup for this Letterist Haskell joke, so I'll just post the punchline instead: GeneralizedNewtypeDériving
The effect in-game is pretty subtle right now—and needs some color calibration—but in general I like it.
Current status: drawing pixel art normal maps by hand.
@dylanmc Yup! And for now I'm doing manual map design using Tiled, which is a very nice piece of software: mapeditor.org
@ntcomplete more like Love Actually Is Not Depicted In This Blandly Heteronormative Movie That Regularly Glorifies Creepy Male Behaviour, amirite?
Doing some game dev work this weekend. I'm not in love with this perfunctory pixel art style, but at least it's pretty easy for prototyping.
Q: What is a flex-itarian's favorite food?
A: A bison burger.
Here is a classical illustration of a Roman augur, reading the future by tracking their engagement stats.
History fact: the Romans used to perform divination by making several tweets, then observing which tweets were granted virality by the gods.
And here is the project itself: Matterhorn, a terminal-based client for the open-source Slack-alike Mattermost: github.com/matterhorn-cha…
This is a little retrospective on a medium-sized Haskell project I have been helping work on for the past year: twitter.com/galois/status/…
Saw a blog post going around about some kind of "ELF Hello World", but I don't know why you need a whole blog post to write 'Alasse, Ambar'.
…my favorite way to write code is to identify a common need, and then ignore that need entirely and write whatever stupid thing I feel like.
@bradlarsen Me, too! I would say that there are some tasks for which I genuinely think Python is a good tool, as well.
@vrika I feel about coconut and coconut flavor like I do about meat and vegan meat-alikes—I like them, but for their own merits, not as subsitutes.
Ah, and speaking of things which I like but which make other programmers I know disgusted and horrified, I found this in the fridge at work:
Also fun: telling coworkers about how I'm using `eval` (which Lua calls `loadstring`) and watching their horrified and disgusted reactions.
I talk a lot about Haskell on here, but recently I've been doing some Lua+Löve programming and I have been enjoying it a lot.
@schrepfler @rightfold They're all valid ways of writing Haskell type signatures, although only the first two are particularly reasonable choices.
@tightlycoupled It is indeed.
@shelfuu (Aside: in jr high I had a class called "home tech" where we were taught how to "bake" "doughnuts" by topping crescent roll dough w/ sugar.)
@shelfuu The crescent rolls I've had are croissant-shaped, but drop the characteristic flakiness of croissants in favor of a soft roll-like texture.
@shelfuu I have never considered that what we call 'crescent rolls' were supposed to be croissants. I believed them to be entirely different things.
My mental image of a smart city is the same as a normal city except there are more ads and all of the ads are "Brought to you by AdWords™".
I have no idea how 'smart cities' are supposed to improve cities. In particular, I have no conception of what they'd look like in practice.
@swizzard Nope! In fact, if I define something as `Eq a => Show a =>` and then ask ghci for its type, it gives me `(Eq a, Show a)` in response.
You can also permute them, but you need RankNTypes even if the resulting type isn't actually higher-ranked (as is the case here.)
Well, here's today's example of Haskell Syntax I Didn't Know About Despite Having Used Haskell For A Decade.
Brecht's Water Yam was a collection of 'event-scores': basic directions for simple (usually abstract) performances en.wikipedia.org/wiki/Water_Yam…
There are a lot of good event-scores in Water Yam, but this one is very good because it's just George Brecht telling you to Log Off
@fugueish It looked like something else because apparently GIMP ignores Pango's error reporting, forges ahead with bad data, and then segfaults.
@fugueish It looks like a 1: after poking at it more, what's happening is really Unix permission problems where Pango can't read the font file.
I'm running GIMP under Valgrind 'cause apparently the font I want to use crashes the Pango text rendering library. Computers are bad, y'all.
@joeranweiler "It still doesn't work, but at least I won't expect it to work either."
…I kind of love this 'cause it means I can declare silly types like `x CHARMANDER, y POINTY` and still get out TEXT and INTEGER affinities.
@MatttLloyd It stays an INT. In general, if I query `SELECT col FROM table`, there's no guarantee that I'll get out a homogeneous sequence.
Columns DO have type 'affinities', so values of the declared type are stored more efficiently. Affinities are chosen by… substring matching.
A fun thing about SQLite is that it's dynamically typed—a column can store values of any type regardless of the declared type of the column.
@whitequark I took that screenshot in surf, which I knew wasn't great at rendering, but I had never bothered to compare just how bad. …it's pretty bad.
This MUST exist already, but still: I really want to make a tabletop RPG about street racing where your two stats are "fast" and "furious".
…it turns out that you can just make whatever Github badges you want.
@DanielleSucher I was trying to figure out if this meant there exists a movie version of Pierre Menard, which sounds difficult to do but also maybe amazing?
@dysinger @JMerritt (And I do the same thing for my own custom emacs modes, running a personal *elpa mirror.)
@dysinger @JMerritt I think people should use cabal's remote-repo more (and I do at home, in fact, to keep a repo of my own in-progress packages.)
@dysinger @JMerritt I should be clear that I'm 100% for decentralization! I'm concerned about the "let's stop pulling from Hackage entirely" kind of approach.
I commit many, many crimes against code, but today I wrote a Python script to generate Haskell type declarations from Go type declarations.
@JMerritt @dysinger I think I'd feel differently if this weren't being proposed as a breaking change: like, it'd be easiest to just… stick with the status quo.
@JMerritt @dysinger This is true, but it's a pretty massive duplication of work and makes authorship fuzzy. I don't see how it's a desirable situation at all.
@JMerritt @dysinger Because that'd create a community fracture in a way that could be avoided. (That didn't work well for the D language, for example!)
@mattoflambda @mxavier @taylorfausak (c.f. lots of hard-coded strings like github.com/fpco/stackage-… )
@mattoflambda @mxavier @taylorfausak Oh wow, I had no idea this was open-sourced at all. It clearly wasn't written for non-FPCo people to run, but I suppose that could be fixed.
@mxavier @taylorfausak But I think that's a good idea in general, and I will talk around with coworkers and other Haskellers about that prospect.
@mxavier @taylorfausak So it would feel weird to me to talk to them saying, "Hey, I don't use thing thing, but I want to have a say in what you're doing with it."
@mxavier @taylorfausak I personally haven't—mostly 'cause I use neither Stack nor Stackage, and am mostly concerned that they don't break my side of the ecosystem.
@mxavier @taylorfausak I see that as fundamentally different from a single for-profit entity having a similar level of control over a package ecosystem.
@mxavier @taylorfausak There's not a formal process, but you or I could express interest and become a trustee. It's not just a single group with a single goal.
@mxavier @taylorfausak Hackage trustees are already volunteers, though, from a wide variety of organizations. (e.g. one of my coworkers is one in his free time.)
@mxavier @taylorfausak If they're public, I've never seen them. I mean, I've seen approximations of the process, but I've never seen the actual tools.
@vincenthz @taylorfausak Yes: in fact, this is exactly the problem I have with FPCo bing in direct control of vast swaths of the Haskell ecosystem.
@mxavier @taylorfausak Stackage-the-piece-of-software is, but that's not why people use Stackage—it's the curated version sets, and how are those 'forkable'?
@taylorfausak And that when people pushed back against that, they went out of their way to slime Haskell volunteers as "evil": web.archive.org/web/2016083011…
@taylorfausak My impression was that the changes they wanted to make were, to put it bluntly, bad: e.g. directing people to use stack AND ONLY stack.
@taylorfausak I know that the package server software is open, sure, but that doesn't seem to be a key piece if I wanted to "fork Stackage".
@taylorfausak I don't see Stackage as being particularly novel outside of the package-set curation, and my impression was that that process was closed.
@taylorfausak So in short, the Hackage model is more open, and also WT has historically been a community player in a way that I don't trust FPCo to be.
@taylorfausak Then there's comments like the one that inspired this thread, where someone at FPCo casually suggests making a divisive ecosystem change.
@taylorfausak ("Haskell-lang" was started after a Haskell Committee decision didn't align with their goals—so they just forked the community instead!)
@taylorfausak Also, things like the "haskell-lang" effort makes me skeptical of FPCo's ability to make concessions to community goals at odds with theirs.
@taylorfausak The way I see it: Hackage is a public, open source project maintained by WT; Stackage is a closed project that FPCo has direct control over.
@thumphriees I tried using git-annex back in… 2014 or so? and didn't do so only because none of my servers had enough RAM to actually compile it.
@dysinger @a_cowley (Stackage at least used to be a viable remote-repo, but I don't know if it does any more—it certainly doesn't advertise it, if so.)
@dysinger @a_cowley Cabal has had the ability to do this since at least 2013 github.com/haskell/cabal/…
@a_cowley @dysinger …especially given that so much of the discussion about Stack[age] has been consciously moved outside of previous community discussions fora.
@a_cowley @dysinger And I'm not sure of the right recourse for me as a Haskell-but-not-Stack user to communicate this. (…I mean, aside from tweeting about it.)
@a_cowley @dysinger But with a decision like the one floated above, that would stop being true: the Haskell ecosystem would be split between Stack/non-Stack.
@a_cowley @dysinger For my own part, I'm not a Stack/Stackage user, and right now, that's not a problem: Stack-users and non-Stack-users can still coexist fine!
@a_cowley @dysinger I'm not totally sure. I don't think they've been awful about it, but then discussions like the one that prompted this thread give me pause.
@creichert07 Indeed! But accepting funding/donations from a company is different from being entirely built and managed by a commercial entity.
@dysinger I'm not saying that Hackage is perfect, or that managing shared resources as a community isn't without its problems!
@dysinger OTOH, Hackage is run by a team of community volunteers funded by donations, rather than by a single entity that can do whatever they want.
@dysinger Considering also the 'haskell-lang' site fork, this makes me feel FPCo is aggressively trying to center the ecosystem around themselves.
@dysinger And the choice being discussed here could mean that some Haskell libraries would ONLY be available through Stack/Stackage, not Hackage!
@dysinger But Stackage is fundamentally the product of a single company and decisions about it rest ultimately in FPCo's hands—not in the community's.
@WarrenIsDead I vaguely recalled reading a Gamasutra column non-ironically proposing a Dogme 95 For Games. …it's, uh, a bit dated. gamasutra.com/view/feature/1…
"Hey, just gauging interest: would you want to bifurcate the Haskell ecosystem in an effort to dispense with community-run infrastructure?"
Like, why the hell is this even an option? The fact that this is even being considered should be super worrying to Haskell users.
"If You Give A Mouse A Cookie", except instead it's about ceding control of your language's package infrastructure to a private company.
It's bad to reinvent the wheel, yes, but in this case the wheels are also attached to other whole cars with their own reinvented wheels, so…
This feels disappointing, 'cause it's very much busy-work, but OTOH that library is huge and has caused countless build failures for me.
I have been spending a pretty significant amount of my Haskell-programming time lately trying to avoid depending on one particular library.
@joeranweiler I suspect that there are fewer of these than you might hope, largely because the GNU assembly syntax has no merits relative to anything. 🎤⬇️
@acfoltzer (I misread this as "Bezos" and was trying to figure out if you were making some kind of confusingly oblique amazon-related joke.)
Today I saw a BLM sign that was flipped over and had SALE written on the back, which is actually a pretty good metaphor for neoliberalism.
@jong @vrika …the word 'like' is underlined, but somehow, the word 'zookerer' is not?
(I am not the originator of this joke. The real creators did not want to be credited for it, and I neither blame them nor experience shame.)
All our conference rooms at work are named after mathematicians, and also I am, maturity-wise, about, like, twelve.
[i grab a mic at haskell symposium]
they call it -XMagicHash… cause u gotta be high to use it!!!
[i am chased & subdued by the ensuing mob]
@kmett @plaidfinch I don't think that's an unreasonable thing to do! Just that it's a hurdle that's got to be done to implement an extension like this.
@kmett @plaidfinch Oh, totally! But IIRC, I had to do a lot of taking functions like this github.com/ghc/ghc/blob/m… and splitting them into Pat and Exp versions.
@plaidfinch @kmett And this extension means adding fields/functionality to record-field-as-expression that has no sensible analogue in record-field-as-pattern.
@plaidfinch @kmett IIRC there ware some difficult corner cases to it, on account of GHC reusing the `HsRecFields` type for both expressions and patterns.
…every time I write records containing functions, I recall that I never did get around to proposing this extension: twitter.com/aisamanra/stat…
…I also only just realized yesterday that data families permit GADT syntax, so I guess this has been a Week Of Haskell Learnings.
…I've been writing Haskell for almost a decade, and I only realized on the bus this morning that I could use an operator as a record field.
@path1ckey (…also I had to first drive home to delete it, 'cause that's what happens when you still party like it's 1997.)
@PLT_cheater …it turns out that Twitter still posts tweets if you text them, even if it's on accident. Whoops.
@path1ckey …did you know that I still have Twitter set up to send and receive texts to me? …'cause guess what: I sure as fuck didn't.
…now that I know the correct pronunciation of Stephen Kleene's name, maybe I can finally get rid of the awful mental image I've had of him.
…turns out, even Kleene's own pronuciation is arguably not correct. That's the lesson, I think: we're all wrong, when you get down to it.
I turned to Wikipedia in order to end an argument about whether 'Kleene' was pronounced /ˈkliːniː/ or /ˈkliːn/, and, well…
@jong Hence the classic Jean-Luc Picard quote, "I'll know [a violation of the Prime Directive] when I see it."
…looks to me like it's the product of several smaller Directives, which would technically make it a Composite Directive.
"Getty, don't you know that there's more to humor than just using antonyms in" let me stop you right there. thats a lot of crap
Programming books I have wanted to write:
· Fake World Haskell
· The Art of the 'Pataobject Protocol
· Code Incomplete
@joeranweiler Coincidentally, Grindy Hellscape is the name of my favorite post-metal band, 70's art-house movie, and off-brand Tony Hawk knockoff game.
@benzrf …this is a very good point. It probably should also have produced a proof (of work) term of some kind.
Confused by Haskell's ($) operator and its ilk? Here's a handy guide to the various function application operators in Haskell!
@ntcomplete I think the short story is "tweets but they can be longer and decentralized", which is, y'know, a pretty good (or at least non-bad) idea?
@TheWack0lian Oh, not technical problems: I meant something more like, "I don't know what to post about," and not, "I don't know how to post on it."
(I really want something like Mastodon to succeed—but there's a chicken-and-egg problem where I have no idea how to use Mastodon right now.)
There seems to be Another Round of Talk about Mastodon, so I should probably link to my as-yet-unused account there mastodon.social/@keweddji
@sw17ch I think I've read that some web designers try to make worse pages on purpose for some clients, to make them seem less glitzy & professional.
@jong Lego is a wonderful idea, but OTOH, I don't have the same quasi-fetishistic relationship with Lego that I do with paper and ink.
(…I've always wanted to run a tabletop game whose locations and maps were constructed like this, to be folded up or down as needed.)
Lately I've been thinking about okoshi-ezu, which are old foldable paper architectural plans for tea-houses: ursusbooks.com/pages/books/15…
@jong @rhiannonstone Yeah, everything I learned about management comes from Firefly and House of Cards.
My company—Hold & Call Field—uses VOIP solutions to allow you to feel disdain for even distant people. That is, we build tele-phony systems.
@thumphriees alternate proposal: replace the backwards `($)` operator, `(&)`, with a `(¢)` operator for conceptual symmetry
@strangebirds @shusta Since Twilight Princess, they've switched to a variety of English ciphers instead—no idea why: omniglot.com/conscripts/hyl…
@strangebirds @shusta Older Zelda games (e.g. Ocarina) featured writing systems that were ciphers of Japanese Kana: omniglot.com/conscripts/hyl…
(Several of the glyphs are used for two sounds: F and R, G and D, E and W, and O and Z each are written with only one glyph.)
Here is a hastily-drawn guide to Breath of the Wild's Hylian alphabet. (I haven't encountered an X or J in any texts yet.)
(I was wondering whether I had mis-deciphered the alphabet when I found this sign in Rito Village, but no, this one's just misspelled.)
One thing I love in video games is sitting down and figuring out the alphabetic ciphers used. This one was admittedly a pretty basic one.
@thedagit @dylanmc This led me to play with that field a bit, and… I am very confused.
@Blaisorblade @jamey_sharp The mockup is purposefully more verbose than it should be, but I do in general like halfway-to-Haskell languages.
Game idea—a Truck Simulator but on an alien world, so you pilot strange vehicles through incomprehensible cities to mysterious destinations.
@jamey_sharp @itblumenfeld I have always dreamed of resolving the Haskell/Pascal duality by creating Paskell, a beautiful synthesis of both.
@dylanmc @itblumenfeld Honestly, induction ranges are kind of tedious. Always having to cook your base case before cooking anything bigger.
My coworker objected to this tweet because 'unsatisfied' and 'unsatisfiable' are different. …I work with some nerds. twitter.com/aisamanra/stat…
"Even the SMT solver can't figure this out," Tom said, unsatisfied.
"Self-reference is fine as long as it happens underneath a codatatype constructor," Tom said guardedly.
"I'm not very rigorous when it comes to the proofs I write in Coq," Tom admitted.
@joeranweiler …this is related to a larger book and document cataloguing project I've had banging around in my head for a few years now.
@joeranweiler …this reminds me that I've been wanting to buy a thermal receipt-type printer on eBay and get some thermal label paper.
One of my pet peeves is experts in STEM who don't understand why (or even that) other fields of study exist. It's myopic and depressing.
They applied cryptanalysis techniques, thinking this would help. After years of effort, they failed to decipher even a single character.
Cryptographer William F. Friedman—who broke the PURPLE cipher during WW2—and his wife once worked on deciphering the Mayan writing system.
This is a preposterous sentiment for a lot of reasons, but it's even wrong in the face of historical evidence. twitter.com/neiltyson/stat…
@steveklabnik @bcjbcjbcj It's because Windows: in Unix shells, Ctrl-D sends an EOF char, but in cmd.exe, it sends (IIRC) a '\x04' char.
…found a notebook in my coat pocket which contained brainstorming for a Linux-based Microsoft Bob clone. Past Getty had some real bad ideas.
@basmatiheather @rhiannonstone @jong Oh Dr. Snap!
@sigfig There's this obviousness to a bunch of the recipes that's sort of charming to me now.
@sigfig I also like the naming convention that keeps showing up that's just "[booze] cocktail", like "Whiskey Cocktail", "Gin Cocktail", &c.
This cocktail is just milk and bourbon, and is accompanied by a story about getting some "country buyer" drunk by putting booze in his milk.
There's that cliché where 19th century books have ridiculous florid names and subtitles and The Bar-Tender's Guide does not disappoint here:
This one is from the section on "Temperance Drinks", and has a spectacularly 19th-century-style name for a pretty boringly obvious drink.
This one is just two kinds of beer poured together. ("Arf and Arf" is supposed to sound like an English person saying "Half and Half.")
Last night I was reading The Bar-Tender's Guide by Jerry Thomas, published in 1862. I like the simple but slightly confusing cocktails best.
My mother was trying to text me about the Sapir-Whorf Hypothesis, but she called it the 'Simon Wharter Effect'.
To answer the question 'Did I do that?', keep your logs in a tree that stores hashes in all non-leaf nodes: that is to say, a Murkel tree.
Haskell programmer poll: have you used the TransformListComp GHC extension in practice? (i.e. not just in experimenting w/ the extension.)
@dylanmc @itblumenfeld I'm not taking issue with anyone's personal tastes, just with exaggerated public hatred of programming technologies.
@dylanmc @itblumenfeld I don't blame anyone for disliking Lua, but there are very good practical reasons why other people might like it.
@itblumenfeld @dylanmc Mostly for very practical reasons: the simplicity and embeddability of the Lua implementation is an amazing thing.
@itblumenfeld @dylanmc I think that's incredibly unfair—Lua is a language that has a lot going for it and which I have great affection for.
@itblumenfeld @dylanmc You could always do something like this! msm.runhello.com/p/1003
@trannyfits A friend remarked that he reads the hourglass as 'the concept of time' and liked the idea that the smartphone had replaced time.
Now you can relive it forever, with my newest bot: @ten_short_years
Remember this tweet I was making fun of the other day? twitter.com/aisamanra/stat…
@CopperheadOS @itblumenfeld True—I guess I should have said "…can be better advice". (…it's hard to make hedged statements in tweet length.)
@CopperheadOS @itblumenfeld "Use old well-tested systems and techniques" is good advice—I just wish they actually said that instead of this.
@CopperheadOS @itblumenfeld And to be fair to the text it seems to be using "low-level" to just mean "old". It calls out COBOL specifically.
I was talking with friends about bitters earlier so I also took a photo of the current state of my bitters collection—62 bottles at present!
@itblumenfeld "Calm Technology", from O'Reilly. When it's sticking to design-related topics, it's quite good! It's just… this bit… oof.
The reason that suriving systems in COBOL are good has more to do with the fact that they've survived than the fact that they are in COBOL.
This definitely enters the running as quite possibly the Objectively Wost Software Engineering Advice.
@aaronmblevin "In less than 10 years, the 👉🏽 replaced:

@aaronmblevin …oh, man, this is not QUITE worth the effort it would take to make a bot that just chooses random emoji for a tweet like that.
In one of his talks, @warrenellis used the phrase "silo of futurism", which is a good way of describing this kind of technophilic myopia.
@thedagit …turns out, there's no paramecium emoji, otherwise I would have started with a row of single-celled organisms.
@thedagit In less than 1000000 years, the 🤷️ replaced

…how can you straight-facedly claim smartphones have "replaced" keys (rather than "can maybe be used as keys") and still be taken seriously?
ah yes now that we have Smartphone nobody uses Television Paperclip Megaphone or Key any more. they have been Replaced
One of my favorite out-of-context Lovecraft phrases is definitely, "…that nighted, penguin-fringed abyss…"
I've also experimented with pixel art versions—I don't like them as much in practice but they make me want to make a bartending-themed game.
@onoforpono I'm planning on putting them all on Github under a Creative Comons license, so they'll at least be usable as Slack-type emoji!
And here's a new recipe graph I just did today: the applejack-based Jack Rose cocktail cocktail.graphics/cocktail/the-j…
@hikikomorphism I could do that myself, but I'm figuring out if it'd be better to use a print-on-demand place like Redbubble instead.
@hikikomorphism I've found some reasonably priced printers, but I'm less sure about how to sell and distribute them. Partly out of laziness…
I'm looking into the best way to make+sell small card-sized prints of these, too, for people (like me!) who like printed paper objects.
It's still a work in progress, but I've tossed together a site at cocktail.graphics for my cocktail recipe diagrams.
@WhiteMageBecky …and see if they have any information or feedback!
@WhiteMageBecky …university people are super nice and helpful. I also know some people in those departments, and I can happily ask around…
@WhiteMageBecky I'm honestly not sure; I'm not super familiar with either OSU or the way those programs operate. Usually, though…
@MCantor forget objects and closures, what poor men need are unions
…not gonna lie: I'm a little bit disappointed this naming convention for polyhedra didn't really take off.
@pepper_chico @ffee_machine Oh, no, that's real! That part is unmodified from GCC's actual documentation: gcc.gnu.org/onlinedocs/gcc…
@pepper_chico @ffee_machine …this is me editing the texinfo for GCC by hand, sadly.
The word 'kin' has two big advantages:
· paper titles that are Hamlet-related puns
· paper titles that are otherkin-related puns
Whenever we need yet another word for groupings in PL theory—like 'type', 'kind', 'category', 'sort', &c—I propose we use the word 'kin'.
@jamey_sharp c.f. github.com/rust-lang/rfcs…
@jamey_sharp IIRC the motivation for `if let` and `while let` specifically cited Swift's (more limited) implementations of those features.
…is this CLOS?
(I've only done a handful of these, but I really should put together a web site just for them, with browing and searching and so forth.)
I haven't done any of these in a while, so here's a visual recipe for the Trinidad Sour, an unusual but delicious cocktail.
@joeranweiler sounds like someone's just jealous that they've never had a Bungle In The Jungle
@morabbin IIRC it was like this
@morabbin Spelling: it was the Sindarin word 'angwedh', but written in a Quenya mode and without a vowel carrier for the initial tehtar.
Had a dream where someone had some elvish written on their hand and I was correcting it. …I'm apparently insufferable even in my own dreams.
@shelfuu It's not real security, of course, but it makes it vaguely harder to Google past traces of me on the internet.
@shelfuu It's definitely some Security By Obscurity, but this is one reason I try to change up my username across services.
@shelfuu holding your present self hostage with the inane and terrible ramblings of your past self
@shelfuu sounds like a backwards business model—you should have to pay them to destroy evidence of your past indiscreet slack messages
@d_christiansen Simpla ekspertsistemo povus determini almenaŭ, ke texto kun Ĝ aŭ Ĉ ne estas litova aŭ ĉeĥa, simple kaŭze de ortografio!)
@d_christiansen (La fakto, kio min konfuzas, estas, ke la literoj Ĝ, Ĉ, k.t.p., ne estas uzata je aliaj eŭroplingvoj, sole je esperanto.
@d_christiansen Ne sole poŝtelefonoj—ĉiuj komputeroj! Ekzemple—Tvitero pensas, ke niaj tvitoj estas je litova, ĉeĥa, kaj estona, respektive.
@d_christiansen "ĝi ofertas" estas evidente frazo, kion vi ofte volus uzi per sin, sen objekto, en tekstmesaĝoj.
@jong To be fair, every subtyping system is different. Some systems only have bounded sub-typing rules.
In subtyping systems:
⊤ represents the top type, such that ∀τ. τ <: ⊤.
⊥ is the bottom type, so ∀τ. ⊥ <: τ.
All other types are switches.
@thumphriees It can attest that it works with my RSS reader!
@shelfuu @ffee_machine @sw17ch You could change it just a tiny bit and use the pixel version I did of the same image …efireattheshoemakersestate.tumblr.com/post/132220701…
I was trying to generate some Haskell code last night and ended up finding a typo ("maximun") in a presumably-little-seen GHC error message.
@MCantor (c.f. web.archive.org/web/2013122819… ) I think my own relationship to note-taking is very similar.
@MCantor …box of notes was his "co-collaborator" on his papers, because of how important it was for developing new ideas.
@MCantor The media theorist Niklas Luhmann used to keep all his notes in a "slip-box" (German Zettelkasten), and he would assert that the…
@MCantor For me, it's as much for organization as for creativity: having external written/typed notes is good for colliding ideas together.
@MCantor …these are a little less than half of just the on-paper notes for a novel I had been working on—so I absolutely sympathize.
@joeranweiler (And how that same author later blocked me on Twitter after namesearching and finding my non-Elvish-related criticism of him?)
@joeranweiler …have I told the story about the most shameful email I've ever sent, in which I corrected a webcomic author's use of Tengwar?
"Experts devised symbolic warnings to deter future visitors to dangerous places, conveying the message: 'This is not a place of honor.'"
Look, if you haven't subjected it to conspiracy experiments, then it's not a conspiracy theory, it's just a conspiracy hypothesis.
Today's great ebooks phrase was "metafont proof refinement logic" twitter.com/guwan_aisamanr…
…has someone written a proof assistant in the style of Microsoft Bob, where a little cartoon character helps you discharge obligations?
Yesterday, my ebooks bot mentioned "microsoft bob harper", and I'm still amused by this phrase. twitter.com/guwan_aisamanr…
@XtinaSchelin So consequently: "Linear B Logic". (…it's, uh, not a very deep joke.)
@XtinaSchelin …for variables, the variables are written in an ancient writing system (used to write Mycenean Greek) called 'Linear B'.
@XtinaSchelin Sure! Those formulae are rules describing a system of logic called 'linear logic', but instead of using the Latin alphabet…
Given that the word 'hobbit' comes from O.E. holbytla 'hole dweller', the first sentence of The Hobbit has a small measure of redundancy.
@Blaisorblade (…I forget exactly what I was doing now, but there were a lot of continuations. That was the important thing.)
@Blaisorblade I think I've never actually used Tengwar—but I used to do Latin for variables, Greek for types, Hebrew for continuation types.
@itblumenfeld @donsbot @sclv Of course!
…this made me realize that I missed a wonderful opportunity for a truly terrible pun—so here's Linear B Logic. @donsbot @sclv
@Jyrinx This is in a typed language! …well, except the API change was in a REST API, which is basically an untyped intermediate language.
@ntcomplete (The server would blindly write the "successful" response to the socket, check the error, then write the "error" response, too.)
@ntcomplete This one was coupled with a fun bug where the server would accidentally send us two JSON blobs appended together on errors.
…you ever have one of those days when a program breaks 'cause of an undocumented API change and it takes hours to hunt down the change?
Upside of being a huge dork is that you never run out of variable names. …you do run out of people willing to put up with your shit, though.
(That is to say, I'm proud of the students there—I'm not happy with the Berkeley administration for making student action necessary.)
I'm pretty proud of my alma mater today.
@MCantor Are you sure? It's thepowerofand.slack.com and there's already a gentle_coda user, it looks like.
@MCantor (Also, if you have deeper questions about any of these topics, you can always log in to Misty's Slack and bug me w/ questions!)
@MCantor (I started writing tweets, and kept having trouble describing it in <140 chars, so I just copied it to Inkscape and made an image.)
@MCantor Yeah, just very quickly.
@MCantor Also, tell me how comprehensible this is: it's kind of hard to talk about grammars in tweets, even with images!
@MCantor (The historical go-to compilers book is the Dragon Book, but it's a bit outdated. Might still be worth a peruse?)
@MCantor I'm less sure on general compilers—for functional langs, SPJ's 'The Implementation of Functional Programming Languages' is great.
@MCantor …includes a graph of chapter topics so you can find out what chapters are & aren't necessary for whatever topic you're looking up.)
@MCantor For PL design, I think the textbook Types And Programming Languages is a genuinely good and approachable read. (I love how it…
I ran it overnight on a different training set. There were… problems. (Weirdly, the sequence 'eee' never once appears in the training set.)
I want to switch my ebooks bot to use deep learning, but so far I've just managed to generate a Cloud-Atlas-post-apocalypse-talk generator.
@ntcomplete buddy, if i wanted to read the exploits of a weird evil clown guy, i would reread my own livejournal
Especially: Prophet, Mirror, Casanova, The Wicked + The Divine, Bitch Planet, Injection, Pretty Deadly, Monstress…
I don't talk about comics a lot on here, but this Humble Bundle has first volumes of lot of my current favorites: humblebundle.com/books/image-co…
(the blog post isn't a goblin. this isn't part of goblin week. i am sorry for ruining goblin week by blogging about haskell during it.)
The difference is pretty obvious in retrospect, but I've known many top-notch Haskell programmers who haven't known the difference off-hand.
I wrote a quick piece about the difference between `T a a` and `a ~ b => T a b` in Haskell instance declarations: blog.infinitenegativeutility.com/2017/1/haskell…
@shelfuu I am surprised that there aren't more horror movies set near my hometown. …maybe just knowing that Fresno exists is scary enough.
@shelfuu It is apparently on YouTube! youtube.com/watch?v=eDSLCZ…
@deech @shelfuu
@shelfuu …it's not really that funny even in context, but it's stuck there forever, taking up valuable brain space that I can never free up.
@shelfuu …now every time I see his name my brain flashes back to the bots mimicking his voice: 'My name is Donald Pleasance and I am funky!'
@shelfuu As a youth one of my favorite MST3K episodes was PUMAMAN, an Italian superhero film starring Donald Pleasance as the villain, so…
@dylanmc Not that he's not a dangerous person, but I should point out that that is a parody account. (He's Sean Spicer, not Sean Splicer.)
@acfoltzer Goat Mom and Goblin Dad
#goblinweek day four: an older, wiser, pixel-y-er goblin. (Incidentally, @aseprite is an excellent piece of software.)
#goblinweek day 3: watercolors. (So far, every one of these goblins was created while listening to @Friends_Table, which is spectacular.)
For day two of #goblinweek, I made a @hchomgoblin-style linocut goblin: …efireattheshoemakersestate.tumblr.com/post/156273714…
I should mention that I'm observing #goblinweek by creating a goblin in a different medium daily. Yesterday was ink: …efireattheshoemakersestate.tumblr.com/post/156237880…
(Probably Not The Time for this—I know—when the world has more important struggles that need your attention, but I needed some distraction.)
Pt. 1 (about Pythagorean tuning and equal temperament) was from way back in October, and can be found here: what.happens.when.computer/2016-10-18/pyt…
I've finished pt. 2 of my blog posts about music theory, this time about meantone temperaments & microtonal tunings: what.happens.when.computer/2017-01-21/mea…
@thumphriees Recently I did a google search for a topic and my own blog came up, and the idea that other people had read it was terrifying.
@acfoltzer every breath i take is a cause to point to the self-deprecation jar
@acfoltzer I think I might be basically suggesting "vaporwave but non-ironic and also more insufferable"
Like steampunk, but instead of making everyday objects into brass-covered Victorian pastiche you make them look like beige 90's electronics.
@maxkreminski …analogy in it being an analogy to abstract, near-nonsensical phenomena. Like a "Luigi Serafini's Poignant Guide to Haskell".
@maxkreminski I've always kind of wanted to write a riff on Real World Haskell and call it Fake World Haskell, and I like the idea of every…
…this is a joke, but I only made the joke because that analogy makes real sense in my awful, terrible brain.
I should write a post where I explain Uniform Function Call Syntax by analogy to Basque's antipassive voice, for minimum possible clarity.
On a hopefully-less-terrible art note, I'm also learning how to use Blender's digital sculpting tools, which are a lot of fun.
@MCantor That is absolutely what it is. I saw the glasses for $1 in a checkout line and immediately knew what I had to do with them.
Related: here's what happened the last time I thought, "Oh, I should make a new ridiculous novelty profile picture": twitter.com/aisamanra/stat…
I tried to replicate the WikiHow art style for a self-portrait. I have shamed my ancestors beyond comprehension with this vile endeavour.
Terrible bot idea: a bot that tweets all the images from @cursedimages except with the caption "THIS IS WHY TRUMP WON"
buddy if you're gonna ban my threads about how many romantic partners i have as "off-topic" then why is your forum even called "polycount"??
I don't think I lived up to my New Year's resolution last year, but I'm hoping to do a lot better this year.
@MCantor Just this past year Metafilter revived their Gopher server, so you can browse Metafilter in beautiful text: metatalk.metafilter.com/24019/Direct-y…
(Fun fact: we have so few examples of Tolkien's Dwarvish that his entire Khuzdul corpus could fit in a single tweet.)
Over the weekend, I also made a Cirth pixel font to accompany the Tengwar pixel font I created before. This is Balin's epitaph in Moria.
This isn't related; I'm just linking to this for no reason: wondermark.com/829/
lerp, v.t. to produce the straight line joining two points. (From the Old English lēarpan "to interpolate linearly".)
@PLT_cheater @thumphriees I've never used weechat—I went straight from irssi to glirc—so I can't really say, sadly.
@thumphriees I've been using glirc+znc for a while, and I like it a lot. (…it helps that I can get glirc help by shouting over my shoulder.)
@deech As far as I can remember, there's nothing right now to enable that. Do you have a bigger example of the kind of behaviour you want?
@deech Parts of it are still a WIP, but it's uploaded on Hackage and usable right now. I'd be happy to get feedback if you end up using it!
…tonight a stranger claimed that he mistook me for Guillermo del Toro, and I'm still not sure of the correct way to feel about this event.
"Alexia! Set a timer! …oh, I mean—Alexa! Set a timer!" I am just really entertained by banal failure modes that come with new technologies.
My parents got a voice-gadget-thingy for their kitchen. Sometimes my dad has to retry a command a few times, because he says the wrong name.
What have I been working on over the weekend? …oh, y'know. Just regular, normal stuff.
@benzrf …maybe I should combine this with my old xmonad config, which I ditched because I didn't love the font: twitter.com/aisamanra/stat…
(What's written here is the Sindarin text from the doors of Moria: the second line is the one that means, "Speak, friend, and enter.")
It only really works if you're using the mode of Beleriand where vowels are separate letters—vowel points in a pixel font would be trickier.
I took a bit of time last night and experimented with minimal pixel fonts for Tengwar. I'm not totally pleased with this, but it's close.
@BenjaminSelfrid kanye-water-bottle-02.png is an image I once used for a presentation about the Rust programming language.
…a routine software update in the last day has for some reason made all of the lower-case k's in my terminal super tiny. Oh, Linux.
Open Source Video Game Art is already a particular kind of bad, but just wait till you see Open Source Minecraft Clone Art.
The default Minecraft font makes circumflexes look like inverted breves, and I care about this because I am an insufferable human being.
I love conlangs as a weird kind of art on their own, but using them in fiction is really difficult, as it's really easy to overuse them.
Just… read the Wikipedia article on code-switching before trying to awkwardly shoehorn your 3rd-rate fantasy conlang into dialogue. Please.
Dragons will perfectly alternate English/Draconic every sentence: "Hello. Sho kel. How are you. Kavakh na. I am fine." Who talks like this?
Last night—5 years late, I know—I finally played through the main quest of Skyrim, so now I have Complaints about the way they use conlangs.
(This is from the cartoon Котенок по имени Гав, "A Kitten Named Woof", made by Soyuzmultfilm in the early 80's.)
This is exactly how intuitionistic logic works.
@ffee_machine It's already all online, and we're proud of it so far, but it's also definitely still alpha-quality: github.com/matterhorn-cha…
@ffee_machine I am proud to say that I introduced cowsay support around lunch and 3 hours later we've already overused the hell out of it.
@vrika Auto-cowsay is useful! …well, sometimes. It's already gotten a bit overused since I introduced it, but I'm happy I implemented it.
@ffee_machine (Galois started using an open-source Slack clone w/ no good command-line client, so me + @thedagit + @jtdaugherty wrote one.)
@ffee_machine …it was originally for use in Galois, so… kinda? I overstated for comic effect, but we are building it for Galwegians to use.
Ah, yes, always a good day to add useful, well-considered, much-needed features to the chat client we created for professional use.
@evanburchard Oh, yes, that I did.
@evanburchard This is the original 36.media.tumblr.com/aab18ad9291be0… and here's an (unvetted?) KnowYourMeme article about it knowyourmeme.com/memes/layers-o…
@evanburchard Oh, no, it's an existing comic that's gone around the internet a few times. In its original form, it was about "irony levels".
Anyway, special thanks to @path1ckey for suggesting that tiny but vital detail of my ridiculous shitpost.
So far the only person to try to correct my (deliberately) incorrect commutative digram has been someone with "troll" in their bio. …ironic.
The Greek work σιτόκουρος (sitókouros) refers to a wastrel who does nothing but eat bread. In related news, I've found a new display name.
@_k_w_f_ …I considered it, but honestly, I only made this screenshot because I was just slightly too lazy to make the video for real.
@moltarx @path1ckey @shelfuu I've been sleeping on the floor since I moved. I plan on building a bed, but I am also very, very lazy.
@rhiannonstone @Katecom (It's still delicious khachapuri! But it's definitely more upscale restaurant and less casual awesome food cart.)
@rhiannonstone @Katecom Unfortunately, the Georgian food truck is closed. AFAIK, Kachka is the only place in Portland to get khachapuri now.
@bobpoekert @maxkreminski …the D process to mix with B, and how much to mix with C. I expect that'll be expressed as metadata on the arrow.
@bobpoekert @maxkreminski I was planning on having forking paths require an extra annotation, because you need to know how much result from…
@bobpoekert @maxkreminski The DSL can express forking paths, but I don't currently process it right, basically out of laziness.
@maxkreminski @bobpoekert (Also because it's good motivation for drawing new tiny pictures of bottles and cocktail ingredients.)
@maxkreminski @bobpoekert I should admit that those cocktail recipes are hand-drawn as a way of exploring what my DSL will eventually create
"The Hypothetically Burning Bridges Except No Bridges Were Ever Actually Built Proposal"
Has anyone talked about removing arr from the Arrow typeclass? (It's technically not a breaking change because nobody actually uses Arrows.)
current status (taken from buttercupfestival.com/2-127.htm )
Yesterday I made this joke. Today I accidentally broke a server with an ill-considered package update. So, uh. Yeah. twitter.com/aisamanra/stat…
@Jyrinx …it doesn't, but I wasn't sure how to make it appropriately lossy and also type-check.
@sw17ch …not exactly. It's a long story—but luckily that story does show up in the programming slack, if you want to read it in full.
OH: loss.hs
they call me 'systemd' because i'm very large and contentious, make deeply questionable choices, and regularly break Linux systems
@acwpdx I like how the first thing you decide to quilt is a TIS-100 unit.
…wait… those symbols on the cover of the book… i think i have uncover the conspiracy............................
mi hodiaŭ ĉe la librejo aĉetis tiun grandan bildvortaron (visual encyclopedia), kio estas tute en esperanto
For tonight's Thanksgiving dinner, we're eating a classic American meal just like the ones the early American settlers in the northeast ate.
Today's reading: �������� ��� �� (with ������� ��� and ���������)
@Blaisorblade I think that's for libraries, though; I have no idea why anyone would name a data type 'Clown'. That's just terrible.
@Blaisorblade I don't think it's a joke, just not a dry descriptive name. I think the same logic applies for jokey library names, though.
@Blaisorblade (e.g. Haskell's 'HTTP' for plain HTTP bindings, but 'wreq' for an opinionated not-just-bindings library for HTTP requests.)
@Blaisorblade Silly names are less likely to conflict or be confused with others, and they can imply that a lib is somehow unusual/distinct.
@Blaisorblade I think there's a place for silly (or just unusual) names sometimes—but only in specific circumstances and only within reason.
…I have already gotten complaints that this package does not have a pun name. I firmly believe that boring code should have a boring name.
Super boring announcement: if you need a quick and easy way to work with INI files in Haskell, I got you covered. hackage.haskell.org/package/config…
I just really love the phrase "the post-tofu era"
The quote I've been trying to keep in mind lately is Gilles Deleuze: "There's no need to fear or hope, but only to look for new weapons."
That's not to say I'm trying to ignore what's happening—I'm trying to stay informed and angry while staying healthy and without losing hope.
I've been quiet lately 'cause I'm tempering my anxiety over the world's slide into authoritarianism by reading more books and less internet.
…mildly disappointed that patafilter.com isn't being used for some kind of proto-dada link aggregator/web community
If you REALLY want to know what I think, you can reconstruct my views on the election from the fact that I unironically retweet Marxbot.
I made this promise back in February, and I am happy to say that I kept the shit out of it: twitter.com/aisamanra/stat…
I am regularly surprised by just how good a shitposter my ebooks bot can be: twitter.com/guwan_aisamanr…
@ntcomplete Y'know, how all of them are Krieger-themed parodies of various Rush album covers.
@ntcomplete I am like 98% sure you know what Rush is, 'cause I remember explaining to you and Adam the running joke with Krieger's vans.
(People do sometimes ask—Getty is my real given name. My parents named me after Geddy Lee from Rush, but deliberately changed the spelling.)
Sometimes I feel like image captions are mocking me personally. "Yeah, that's right, GETTY."
…maybe sometimes the world really is as sweet as potatoes and molasses.
News and Events have been making me anxious lately, but tonight I made farfalle w/ chanterelles & chardonnay-cream sauce, so that was good.
@gepr I haven't found anything that doesn't support it yet, but I am sure it'll arise in the most frustrating situation possible.
(This statement was of course inspired by the answers to my previous question about $EDITOR behavior.)
OH: "okay, so we are all in agreement that while that is not the world we want to live in, it definitely is the world we live in"
@johnregehr Related question: is there something like the Bulwer-Lytton Fiction Contest, but for the worst academic paper abstract?
@theg5prank This has been working for me for years, but I never thought about it in depth until I had to implement $EDITOR support myself.
@joeatwork That's been my $EDITOR for years, and I haven't come across any problems, but it's possible I'm relying on something nonstandard.
Lazyweb: specifying an $EDITOR that includes flags works like `emacs -nw` works as far as I can tell, but is that a behaviour I can rely on?
@WarrenIsDead happy camping
♫ the build has broken ♫ like the first git push ♫
♫ travis has emailed ♫ all badges red ♫
Today: a from-scratch explanation of Markov chains, and some basic attempts at visualization of Markov chain output: blog.infinitenegativeutility.com/2016/10/markov…
I have wanted to make a Deleuzean cocktail for ages—the Rye-zome—but I would never believe that a smooth taste would suffice to save us.
Be warned—my ebooks bot is trained on my tweets, so the 'originals' from which subphrases are drawn are always gonna be a bunch of bad posts
I keep being curious, so I modified my ebooks bot so it records/displays the provenance of each choice of phrase: guwan.gdritter.com
I would write poetry more if I could consistently come up with phrases like "a brightly-colored can of possible".
Working on some changes to my Markov bot & testing it by running it over my short stories. I'm angry at how great some of these phrases are.
Think about that in the future: your code's docs are probably being put to shame by a script that displays cartoon ponies in a terminal.
There's a My Little Pony-themed reimpl. of cowsay. It has an 82-page manual, which means it's probably got better docs than your software.
My best typo today: const unsighned char*
@MCantor …he's the QueryCondescender
I'm always surprised at Esperanto in the wild. There's also a journal of fashion studies with an Esperanto name: en.wikipedia.org/wiki/Vestoj
There's a Guitar Hero-style piano music notation from the 30's whose name is just Esperanto for 'keyboard writing': en.wikipedia.org/wiki/Klavarskr…
Pretty soon, I'm gonna follow this up with an exploration of microtonal scales, non-Western scales, and other approaches to tuning.
@n1nj4 There is, after all, a pretty good exchange rate between self-deprecating stories and internet points.
ICYMI, last week I wrote about Pythagorean tuning, equal temperament, and why we have twelve tones per octave: what.happens.when.computer/2016-10-18/pyt…
I once considered writing a modern, car-focused retelling of the story of Jason and the Argonauts. My planned title was: 'Greece Lightning'.
@acfoltzer @sw17ch looks more like a typed table to me
@PLT_cheater I'm making an oblique (and bad) joke about substituting words in the Das Racist song 'Combination P*zza H*t and T*co B*ll'.
(I tried to use a combining diaresis with the asterisk but 'H*̈*gen-D*sz' looks terrible, at least on my computer.)
…I'm censoring br*nd-names so they don't @ me on twitter, because we live in a world that is a bad parody of a cyberpunk.
This airport has a Combination P*zza-H*t and H**gen-D*sz, which is not a combination I has seen before. Luckily, it doesn't break scansion.
@AndreasFrom None yet, which is… mildly surprising, really.
I accidentally DM'ed someone their own tweet when trying to share it with someone else, because apparently I have no idea how to computer.
The whole thing is well-stated, but the last paragraph sums it up really well. (From foldingcookie.tumblr.com/post/130301178… ) @thumphriees
@thumphriees I quoted something to this effect in Slack the other day, quoting from this random tumblr post: foldingcookie.tumblr.com/post/130301178…
This is still a good idea: twitter.com/aisamanra/stat…
(That article is about the album Beauty in the Beast by Wendy Carlos, which you should at least try to listen to. It's bizarre and amazing.)
"This traditional Indonesian system of tuning gives me major feels."
[insert ron howard voice]
My intention in writing this was to provide a not-too-technical answer to, "How and why did the West settle on a twelve-note octave?"
Still doing final proofreading, but I put a post up about Pythagorean tuning and the origin of the 12-tone octave: what.happens.when.computer/2016-10-18/pyt…
#inktober day seventeen: another #thezonecast-inspired sketch, this one of Klarg the Hugbear.
I'm not even exaggerating: slate.com/blogs/the_vaul…
This one is really less "wizard name" and more "traditional Puritan name": twitter.com/wizarding_name…
Tonight's cocktail recipe: The Last Word, a gin-based classic. (…also the cocktail I accidentally spilled all over my last laptop.)
#inktober day sixteen: Detective Joe Miller and the Key. (I finished watching The Lost Room just yesterday.) [deleted/reposted due to typo]
#inktober day fifteen: an incredibly badly botched sketch of a journal, pen, and inkwell.
#inktober day fourteen: a quick sketch of a tea-dragon, from the adorable webcomic The Tea Dragon Society teadragonsociety.com
Well, I think I've found my wizard name: twitter.com/wizarding_name…
#inktober day thirteen: I've mostly been doing characters, not objects, so here's "still life with old fashioned"
a late #inktober day twelve: another minor character from a probably-never-to-be-finished personal project
@jong I like to think of myself as a cuneiformtrooper.
Today, I had a rando calling 'strawman argument'… on one of my programming-themed dasharez0ne parodies.

twitter dot com is, so good
As of his morning it has a real, non-egg profile picture, so it no longer looks like it's about to spout obscene invective in your mentions.
…ICYMI, I tossed together the @wizarding_names bot yesterday inspired by this @WarrenIsDead tweet: twitter.com/WarrenIsDead/s…
Right now it still needs a profile picture and all, but from now on @wizarding_names will tweet hourly @WarrenIsDead
@WarrenIsDead ...should I turn this into a twitter bot y/n
…not super happy with my #inktober day eleven—my favorite fictional deity, Palgolak—but not every sketch can be perfect, after all.
#inktober day ten
Several of my recent sketches were done listening to #thezonecast, so here's a quick Taako for #inktober day nine
#inktober day eight: "And your name?"
A hasty and not-very-detailed rendition of The Drifter for #inktober day seven.
#inktober day six: a hatless and teenaged Finn the Human
I'm way behind on posting my #inktober sketches! Day five: an unfinished weird robot I sketched between some great #pdxrust talks this week.
"can i ask why youre holding TWO functors F:D→C and G:C→D such that F⊣G"
"officer, im"
*turns to camera*
"left adjointed"
*cop starts breakd
For years I've made weed-related jokes by emphasizing the 'joint' in 'adjoint functor'. These have never been funny, and I will never stop.
@n1nj4 @ffee_machine I think Wolfram showed us the right approach: get enough publicity that people can't help but try to refute you.
Source: ams.org/notices/200302…
@MrPutter Пожалуйста! Another good place to start, if you want more, is Lawrence Gray's review in the AMS: ams.org/notices/200302…
@MrPutter That first led me, for example, to Konrad Zuse's book Rechnender Raum, which is an important predecessor Wolfram fails to mention.
@MrPutter I think I started with this Amazon review, which itself contains a bunch of pointers to interesting stuff: amazon.com/review/RUGSCP3…
@MrPutter There's a huge collection of them listed here, and choosing on even at random can be informative shell.cas.usf.edu/~wclark/ANKOS_…
I am actually happy that A New Kind of Science exists. I have learned so much about cellular automata by reading the scathing reveiws of it.
My ebooks bot apparently even has a correct handle on ANKoS: twitter.com/guwan_aisamanr…
@vrika I am, in all honesty, pretty neutral w/r/t the correlation or obligation of heroes or non-heroes to wear or not-wear capes.
@vrika I was mostly thinking that "Not All Heroes Wear Capes" was a pretty played-out clickbait lede, and wanted to be a bit contrarian.
I hate to play the "devil's advocate" here, but I think we should consider the possibility that all heroes do, in fact, wear capes.
Here's a sketchy at-work #inktober day four—a minor character from a perpetually-unfinished multimedia project I've planned for years.
…I know it barely counts, but today I drew a nature scene in TiltBrush, so I'm going to treat it as my #inktober day three.
This applies to languages, paradigms, systems, &c, and was inspired just now by seeing someone advocate that '…ALL images should be vector'.
I gotta say this again: the programmer fascination with 'One True Way' makes you a worse programmer, not to mention just a tedious person.
I feel the same way about Android UIs and lap dogs: cute from a distance, appealing to some people, but I wouldn't want to live with one.
Anyway—I updated Cyanogen and it added bouncier UI bits, so now I gotta cross my fingers and hope they added a setting to control it.
I have an old Nexus tablet and I installed Cyanogen primarily because the bouncy UI elements on stock Android made me irrationally angry.
I don't pretend to represent an average user, but speaking for myself, bouncy animations and tweens in UIs are NAILS ON A FUCKING CHALKBOARD
And for #inktober day two, I tried to sketch Triolet, from Moon & Bá's graphic novel adaptation of Gaiman's How To Talk To Girls At Parties.
Here's a late and poorly photographed #inktober day one.
I am doing Inktober, but I also don't have a scanner or a currently-working okayish camera, so I will have to put my art online later.
my ebooks bot still brings forth amazing revelations on a regular basis: twitter.com/guwan_aisamanr…
The barista at the coffee shop this morning was wearing a shirt that said 'LA CROIXS OVER BOYS'
…of course, I love all things Moebius, who did the designs. (If it wasn't already obvious, they had Arzak show up in the background, too!)
Last night's viewing was Les Maîtres du Temps, a French-Hungarian animated scifi movie. Unfocused and weird, but I enjoyed it a lot.
(…possibly swapping out Grunkle Stan for Isaac Dan der Grimnebulin, if I could find a good way to depict him visually.)
…okay, I already did my jokey three fictional characters, but if I took the question more seriously:
@justinesherry …would the @xexd just have, like, constant intrustive ASCII art of Shostakovich everywhere?
@n0kada It doesn't pass -pedantic (for entertainingly pedantic reasons) but it's a valid C program. I compiled and ran all of these.
@__tambourineMan In these screenshots, I'm using the Emacs port of Zenburn: kippura.org/zenburnpage/
Everyone knows K&R-style C and GNU-style C! But have you heard of these less-well-known C coding styles?
I genuinely appreciate the use of scare quotes here.
…wait, describe yourself in three fictional characters? Okay, I got this:
I don't fault Rust's function types for being difficult—considering the properties they have to have—but wow are they difficult.
Every time I do something succesfully with function types in Rust, I feel like I've triumphed over a staggeringly impossible task.
@sw17ch Ignoring the overstated bombast in the way they're described, tagged netstrings are pretty cool, too: web.archive.org/web/2011071807…
Another visual cocktail recipe today: this time, the almost-out-of-season Sungold Zinger.
@GayathriKamath @dongwon It's Ritter! I don't know that it's ever really come up, and I don't use it much on the Online, either.
yeah same apple-rotation.tumblr.com/post/326211504…
sometimes a phrase occurs to me and i dont know what to do with it so i just illustrate it. anyway: "kumquaternions"
Actually, they've only been called that since 2003. Before that, they were 'French monads'.
I accidentally let my awful dad-joke of a twitter bot break months ago. I fixed it last night, so it updates again: twitter.com/casualdiningex…
Did a little pixel art terrarium last night for some pixel practice.
OH: "Secure Interpret Contain Protect."
I know this is a Medium bug, but honestly "amorphous blob" is a pretty good summary of the process model for Docker.
@gilith (Aren't they, though?)
@thumphriees It's an IDL called "fukkit".
@thumphriees You could make an IDL that's just a big bunch of type decls with `deriving (FromJSON, ToJSON, FromRow, ToRow)` on 'em all.
@SvenDowideit But similarly, if there were a kind of dragon called a "great dragon", then it'd be okay to talk about a "green great dragon".
@SvenDowideit Yeah, my impression at least is that "beautiful big cat" makes sense only because there's something called a "big cat".
@vrika @rhiannonstone @byronium There's definitely an element of truth behind it! It's just… messier than articulated.
@gideonfarrell And it wouldn't be as bad if it said, "This is a common ordering for adjectives," not, "THIS IS THE RULE NO EXCEPTIONS."
@gideonfarrell I mean, I understand why—it exposes a true fact, and the "green great dragon" example is clearly understood as evidence.
Language Log has a great post about this, if you want to dive deeper into the much more nuanced truth: languagelog.ldc.upenn.edu/nll/?p=27890
Adjective-ordering rules exist, but they're not nearly so neat. That's why "pretty little cat" & "big beautiful cat" are both fine English.
This tweet's still going around, and it's not true. Rather—it articulates a truth so dogmatically it becomes untrue. twitter.com/MattAndersonBB…
@d_christiansen Yup! I don't always use a Moscow Mule cup for it, but it lends itself well to one.
(The original recipe is here fiveandspice.com/2013/01/17/the… but I wanted to do some information design experiments with the recipe.)
Because it's starting to get autumn-ey where I live, here's the recipe for my favorite autumn-ey cocktail.
(Although: CW for ants, body horror, and that gross paternalistic sexism that shows up a lot in that kind of B-movie.)
It's one of those movies you should watch dubbed into a language you don't speak and without subtitles, so you can just look at it instead.
Even though I'm making fun of it, Phase IV might be worth watching for Saul Bass's beautiful weird cinematography.
"The planets align… and the ants… they build mirrors… to burn our science heroes alive!"
"Wow. This truly is a 'thinking man's' movie."
Yeah, Phase IV had beautiful cinematography—but it's also a trash 70's horror film about new-age genius murder ants.
I love those reviews of scifi movies which contend that a movie must be "cerebral" if it contains relatively few explosions.
Finally, Amazon's algorithm has figured out what I'm really in the market for.
…it just struck me that I may be the first person to ever syntax-highlight structural regexes. Rob Pike almost certainly never did so.
Last night, I wrote a small post about the ill-named and sadly largely-forgotten Structural Regular Expressions: what.happens.when.computer/2016-08-30/str…
If only all open source were so honest.
@shelfuu No BBotE this time?
I'd hope we can support a community that includes people like me AS WELL AS users of Stack, instead of forcing a one-size-fits-all solution.
Also—I am an active user of Haskell working at a Haskell-using company, and I do not use Stack. I'm not opposed to it. It's just not for me.
I support the Haskell Committee and haskell.org, which consider the many needs of a community instead of pushing a One True Way.
The Haskell community has varying needs and therefore varying ways of using Haskell. We don't have a One True Way, and that's a good thing.
I just drank a bottle of "Redpop" Faygo. This is just one of my many, many regrets.
@jong Tell me it wouldn't brighten your day to look in the logs and see
Today I found a copy of the grammar & dictionary of Suzette Elgin's conlang Láadan, including her handwritten notes.
@shapr (And I'll bet there's more low-hanging fruit. That's just the thing that struck me as I glanced.)
@shapr …looking at it now: you can get a heavy speedup by replacing `img //` with `array (bounds image) ...`: on my machine, from 15 to 3m.
…oh, yeah, I should also post the animated gif of how these images get generated out of raw static, too.
@shapr …say "create two grids, using one as old and one as new, and then swap them and repeat," which avoids lots of allocation/thrashing.
@shapr …and because I can be more explicit about not needing older results, and so instead of "create a new grid from the old grid", I can…
@shapr Here's the Haskell one gist.github.com/aisamanra/473f… and I think Rust is faster because of less intermediate allocation—I use lists a lot—…
@shapr Mine is, at least! It's in Rust; I had also written a naïve Haskell version which ended up way too slow: gist.github.com/aisamanra/601e…
@shapr @atticusbones (Although I wouldn't be surprised if there were many deatils of the approaches in common!)
@shapr @atticusbones It's based on this paper jonathanmccabe.com/Cyclic_Symmetr… which is by this Jonathan McCabe, who is here flickr.com/photos/jonatha…
@shapr To be fair, it (with the rest of the page) does get you pretty far. Something about the phrasing struck me as slightly silly, though.
"Here are the two predefined lenses, also there are more somewhere."
@sw17ch …in my defense, I am only using this "hash" function to choose random-but-consistent colors for usernames in a chat client.
…i am a good programmer
OH: "Trump really illustrates the problem with classical logic. This is what happens when you never need to present witnesses!"
Playing with alternate definitions of 'neighborhood' does produce interesting results, though.
I tried looping over various parameters, but that wasn't super interesting. (Code is here: gist.github.com/aisamanra/601e… )
…this was surprisingly straightforward to write and turned out pretty great.
@chrisamaphone @aaronmblevin Oh, these are wonderful!
The Tongue of the Shifting Earth
Speech of True Names
High Draconic
Lost Languages of Birds
It's funny how it puts up a mirror to a person I used to be. I'm much less of an 'angry nerd' than I was. I almost never tweet 'stabby' now.
I continue to be pleased with my ebooks bot twitter.com/guwan_aisamanr…
One of my worst hobbies is coming up with the most awful horror movie taglines imaginable.
The open-source Slack-alike we use at work allows unrestricted Markdown in messages. Nothing can go wrong with that.
…I just tried to run Scheme by typing `(guile)` directly into the terminal so maybe I'm too tired to program responsibly with dynamic types.
Things I enjoy, but only when I'm in the right mood:
· tiki drinks
· gamey meat
· bad horror movies
· blog posts about categories & Haskell
@basmatiheather @guwan_aisamanra …it somehow slipped my mind that my bot would accidentally @ people. I've fixed it now, though! Sorry!
I also regularly feel like it's making fun of me and doing an incredibly good job of it. twitter.com/guwan_aisamanr…
…I made a Markov bot from my own tweets on Tuesday and it's already a better shitposter than I am. twitter.com/guwan_aisamanr…
@_k_w_f_ @aaronmblevin …I like that a more literal translation of "lo staile bo dunda bavla'i" is "the style of giving nexts".
@_k_w_f_ @aaronmblevin Keep an eye out for my upcoming blog post: lo se pilno .e lo lazni kanji .e lo staile bo dunda bavla'i
what the neologism
I know I'm about half a decade behind everybody else here, but I really wanted to make an ebooks account twitter.com/guwan_aisamanr…
@_k_w_f_ They're both maintenance—of knowledge and of artifacts, respctively—and I feel like maintenance isn't celebrated enough in general.
So when I get asked a question whose answer is in the 'folklore', I'm gonna try to write it as a blog post like these. It's a start!
There are definitely 'canonical' blog posts, SO answers—e.g. You Could Have Invented Monads—but there are also lots of gaps there.
Haskell has a lot of folklore that can be learned from comments, tweets, mailing lists, but that doesn't live in an easily-discovered place.
This is a post about why we use a CPS-like technique for resource management in libraries like WAI: blog.infinitenegativeutility.com/2016/8/resourc…
This is a post about what we mean when we talk about the 'WriterT Space Leak': blog.infinitenegativeutility.com/2016/7/writer-…
Twice in the last week I've explained a bit of Haskell folklore to a friend, and then expanded that explanation into a standalone blog post.
no UB constructs in my program
compiler leave my code alone
hey! compiler! leave my code alone
all in all its just another flag in the -Wall
@ntcomplete Did you read his Reddit AMA recently? …it definitely had some wonderful moments: reddit.com/r/IAmA/comment…
@inky In later Pokémon games, it evolves into the incredibly-creatively-named
Today I learned the Old Norse compound word fámennr, which means 'having few followers', and would be a great Twitter display name.
@3liza Sure! Just opened up my DMs.
@3liza Historical-linguist-by-training here—not an expert in Old Norse specifically but if you need another set of eyes I'd be happy to help
(caught in the umberto, just caught in the umberto) every signified meaning's just another sign to you / i've become a monk (i'm adso of mel
…while shelving the Umberto Eco books I got Linkin Park's ​'Numb'​ stuck in my head, except with the word 'undertow' replaced with 'Umberto'
Also, Common Lisp allows this, which is pretty funny.
Languages with arbitrary-base literals up to base-36:
Common Lisp: `#[base]r[num]`
Frink: `[num]//[base]`
GNU m4 (really): `0r[base]:[num]`
Experts predict that by 2018, screenshots of tweets next to screenshots of semi-relevant dril tweets will make up 87% of all new tweets.
Here's my impression of Trenchant Twitter Commentary in the year 2016:
Medium pages have piles and piles of CSS and JavaScript which they use to create the ugliest hyperlinks possible.
My favorite part of driving Portland←→Seattle is the two bible verse signs flanking an advertisement for a place selling bible verse signs.
@silentbicycle He's got a blog—much of which is collected in his book, I think—about linguistics and food: languageoffood.blogspot.com
The YAML spec includes a logo I'd never seen. Looks like a mid-80's logo concept being pitched to a camera company.
And—adorably—the copy of The Hobbit has a holographic kitten ex libris with my 4th-grade handwriting on it.
I also found a Two Towers promotional bookmark in the book, probably from an unfinished rereading before the movie.
These are the copies of LotR I read in elementary school. I can't bring myself to toss them. The cover art is… well…
It's okay to release a project without having to explain why it's good and other things are inferior. Just, y'know, release it.
"I assume"
@carloangiuli I don't think it'd be hard to generate that kind of table-like diagram specifically! I should try that out next.
@chrisamaphone (I really like the idea of running proof search over a set of recipes and ingredients in my kitchen to decide what to cook.)
@chrisamaphone That's awesome! …I'll definitely have to experiment with both Ceptre on its own and with generating Ceptre from this DSL.
…I've got a ways to go, but it's a start, at least.
First step is something like this flickr.com/photos/starsam… (thx @silentbicycle) but I also want to try generated natural language and comics.
In my downtime this week I've also been working on this DSL, which I plan to use to generate recipe visualizations.
I'm packing it up to move, so I figured I'd take a photo of the present State of the Bitters Collection.
@ffee_machine @_k_w_f_ It's largely the same in Chinese; it can mean 'not', 'without', &c, although in Mandarin it's pronounced 'wú'.
@_k_w_f_ I propose that from now on functions get called to starboard, and therefore parameters get returned to port.
@_k_w_f_ I think the real question is: how would a Befunge programmer answer this question?
@_k_w_f_ Lisp people used to refer to closures passed to other functions as "downwards funargs", and closures returned as "upwards funargs".
@shelfuu project idea: a twitter client where you are only allowed to tweet via mad-lib-style dril tweet templates
My phone can't display most emoji, which means sometimes I just have to guess what my interlocutor is feeling.
@jbetzend @psygnisfive @JonSterling At one point, I was trying to paint a Soviet Realist-style painting of Harper. …I should go finish that.
Anyway, today I went to a zine festival and someone drew a googly eye portrait of me and it's pretty much perfect.
My new idea today is a fungus-themed superhero. By night he's Master Morel, but by day he's a mild-mannered mycologist named Mike O'Reizall.
@JonasWinje …you could probably have a single Unown emoji and use a ZWJ followed by another character to control which Unown shape you want.
Probably tons of Pikachu code points—e.g. SMILING PIKACHU FACE WITH OPEN MOUTH—but nobody would get around to proposing one for Garbodor.
I wonder, in the Pokémon universe, which creatures would be culturally important enough for the Poké-Unicode Consortium to include as emoji.
Never thought I'd see fanfic in the form of Haskell library docs.
I'm putting the code points for these languages in Supplemental Private Use Area-B. Here's what my charts look like:
I used my free day today to finally start working on a font for the conlang I made up 12 years ago. Y'know. For fun.
@psygnisfive I like that the book has a second introduction by the creator of Blissymbols (which are such a wonderfully quixotic artifact.)
Project idea: convey an alien society by creating a catalogue of their public signage and iconography, like a municipal Codex Seraphinianus.
…part of the reason I sought it out was I'd just read about the 'Semiotic Standard' used in the set design for Alien wharferj.wordpress.com/2012/05/25/ron…
Anyway, now I have a good print reference on hand for the only symbols I need to know.
It's also a good reminder that even "abstract" signs are in reality very deeply rooted in cultures and communities.
I recently bought a copy of the Symbol Sourcebook by Henry Dreyfuss, 'cause I love this kind of logo/symbol design.
idea: steganographically encode messages by intentionally varying the number of m's in the lyrics to 'Commmbination Pizza Hut and Taco Bell'
"Looks like that tab has two new notifications since I last—oh, wait, nevermind."
@shelfuu @_k_w_f_ hey tim I found a youtube video for you youtube.com/watch?v=u8VDbF…
This is like if you put Ernest Cline and a Hot Topic catalogue into the teleporter from The Fly.
My impression of ThinkGeek was "self-obsessed, insufferable geek stuff", but this is even worse than I remembered.
.@silentbicycle said something about a 'vaporware APL' and I misread it as 'vaporwave', which would be much cooler.
I know that typeface looks a little grotesk—it just had all its serifs knocked off by akzidenz.
I think it's a good time to revisit this paper. "Fundamental Errors in Legal Logic Programming", Philip Leith, 1986: s3.amazonaws.com/academia.edu.d…
(There's a note of "Oh, those silly hippies!" in this story, but I should remind you that I was the dude shopping in the bamboo store.)
OH at a bamboo crafts store:
"That purple couch just appeared at my place out of nowhere!"
"Well—you've always been SO GOOD at manifesting."
I've always wanted to get better at low-poly modeling, so I'm starting with an easy subject: retro-lookin' computers
@_k_w_f_ I've been using some a custom UserStyle for that, 'cause I can invisibilify a lot of other things, too: gist.github.com/aisamanra/9cf2…
@rhiannonstone Especially if, among your office-mates, you don't believe that anybody feels the way you do about the song.
@rhiannonstone You should really prepare for this scenario. At least, by now you should've somehow realized what you gotta do.
me irl
"Hi, uh, viewers, and wel-welcome to my newest, uh, unboxing video."
Over the weekend, inspired by Wayne Barlowe's spectacular Inferno, I made this. I call it: "Wayne Barlowe's World".
@acfoltzer Fun, not-particularly-surprising fact: the first Wikipedia page I ever edited was the page on the Goa'uld language from Stargate.
@acfoltzer This isn't some kind of hilarious photoshop; this is a real deliberate choice on the part of Wikipedia: en.wikipedia.org/wiki/Stargåte
The notation `μα.1 + α` denotes a recursive type. The notation `無α.1 + α` denotes that a type may or may not have the Buddha-nature.
"Heading to the store."
"Cool. I'mma keep working on this Shrek emoji."
"…you certainly do make choices someMSHlNMzu
These introvert-vs-extravert thinkpieces are really getting out of hand.
@acfoltzer I prefer gender-cereal to gender-binary, myself.
@acfoltzer They really should be distributing gender sources instead.
I feel like @acfoltzer is trying to tell me something, but I'm honestly not quite sure what.
Ah—no wonder the internet has been presenting me with a hyperreal simulacrum of the world! Turns out my modem transmits at 2400 baudrillard.
Whenever I think I have writer's block, I write pieces of very short bizarre fiction instead. Here is my newest one: librarianofalexandria.com/018-fytte-the-…
(…this tweet inspired by the fact that my brain was ruined by nerddom early in my life, so I regularly misread "EU" as "Extended Universe".)
Why would anyone want to exit the EU? The EU is where all the good lore is. If you reject the EU, you'll just be stuck with abysmal G-canon.
"As part of our Spirit Computing Platform, we're also releasing new resources to help UX designers develop apps using Immaterial Design."
@path1ckey Quoting the relevant Groucho Marx quip here would probably be too obvious.
(DISCLAIMER: The fact that I am writing this does not mean I endorse its use or even necessarily think it's a good idea.)
My most recent silly project: a clone of the Scotty web framework, except for custom (non-interactive) SSH servers.
This is an oddly comforting bug to me—compared to most bugs I see, it's clear, straightforward, baked into a self-contained physical object.
I use a 20-year-old LCD alarm clock in my room. Tiny vibrations will make it switch to set-alarm-time mode for ~5 seconds, then switch back.
@betalister I only just saw it on Saturday, when I drove by it for the first time, and had totally forgotten. I like the sound of it!
@acwpdx Clearly, HaLVM v3 needs a logo, right? A logo that's comforting and familiar and in no way unsettling.
It's risky to throw things at guitar-playing bros. You never know if today is gonna be the day they're gonna throw it back to you.
@joeranweiler I love my Linux laptop. I also keep a custom Linux rescue USB next to my bed at all times. There is some cognitive dissonance.
@joeranweiler I like the idea of an alignment chart with the axes [ Virtuous — Neutral — Vicious ] × [ Stubborn — Neutral — Pliant ]
52 files changed, 5 insertions(+), 4441 deletions(-)

And it's just barely noon!
Code comments should be kept up-to-date and accurate with respect to the surrounding code.
@acfoltzer Some days I wake up with a fully formed idea for a post on the bird site. These ideas are like my worst children and I love them.
can anyone tell me if this is good or not. if this sort of thing is frowned upon i will stop immediately
presented with out comment .
Reading the Journal of Devolutionary Psychology. Turns out, consciousness developed so early humans—when faced with a problem—could whip it.
@JonSterling You could try to popularize plurals like σημαντικοί in English. …unless you're only talking about two σημαντικώ, of course.
@whitequark @johnregehr That article also doesn't mention specific dishes, e.g. en.wikipedia.org/wiki/Spam_musu… is a delicious Hawaiian use of SPAM.
So… is it too late to get features into CommonMark?
An alternate universe just like our own, except Markdown was invented in the late 90's and let you write >>marquee tags>> and !!blink tags!!
(…I mean—I'm a Linux user + dumbphone owner, so the odds of faux-conversational UIs getting foisted on me are effectively nil. But still!)
Software isn't naturally 'conversational', and that's okay. Trying to make it so will result in both bad software and bad conversations.
I don't dislike design that conveys 'personality'. I dislike design that undermines the affordances of its medium to convey personality.
I'm a person who on a fundamental level does not want my computer to mimic a human personality. I don't want to greet it, or chat with it.
I don't even know what kind of case that is. Snake-That-Gets-Lazy-Real-Quick Case? Camel-Pulling-Wagon Case? Chimera Case?
This codebase also consistently names UI callbacks w/ "camel-case event name + '_' + all-lowercase no-underscore name": onButton_dothething.
My Nemesis-In-Codebase-Form contains the following comment, which is admirably honest:
check out my Neon Genesis Evangelion/Flatland crossover fic: Cruel Angle Thesis
@jtdaugherty Plus, the ability to make paper-to-internet hyperlinks is something we've had for decades!
PEBKACODWDNUTIODAU: Problem Exists Between Keyboard And Chair Of Developers Who Do Not Understand The Importance Of Design And Usability
"So let's consider the proposition '∀X.∃Y.P(X,Y)'—"
"Stop shouting!"
"Sorry! …so let's consider the proposition 'ɐx.əy.p(x,y)'…"
Coworker saw my minimal-pixel-art self-portrait; asked how many pixels it took to convey "Getty". Got it down to 25.
I've been writing in Rust over the weekends, so now whenever I write Haskell, I see a lot of, "Not in scope: data constructor ‘Some’".
@ljellis I'm already working on an interesting variation which replaces the chery with orange & cinnamon. That clearly needs a related name!
The Hans Gruber
·1½oz Bulleit Rye
·⅔oz Laphroaig
·½oz Cherry Heering
·¼oz Amaro Lucano
·cherry bark smoke
Stir, serve in old fashioned glass
Mine was different but still good, so I'm going to keep making it but I'll give it a new name to distinguish it from the original. So:
At one point, I tried to recreate my favorite cocktail, and got close—but not quite right. Tonight, the bartender gave me the actual recipe.
@chrisamaphone Not that that's bad! But it'd be cool to see similar language-magic explorations inspired by, say, polysynthetic languages.
@chrisamaphone I went back and replayed it a bit, and I was misremembering it: it's a lot less morphological and more syntactic.
@chrisamaphone There's a short IF game called Suveh Nux whose primary puzzle mechanic is linguistic spell-building: ifdb.tads.org/viewgame?id=xk…
@MCantor At some point, Intel's SGX will be more widespread, so you could keep the private data in a local enclave: en.wikipedia.org/wiki/Software_…
Sorry for the tweetstorm: 🌩☁🌧🌧🌪🌪🌩🌪🌪⛈🌧🌪🌩🌩⛈☁🌧🌩🌩⛈☁🌩☁🌪⛈☁🌩🌦🌩🌩🌧☁🌩🌧⛈🌩☁🌪🌧🌧⛈
This is probably my least favorite death metal band.
I'm not always sure I understand non-traditional relationships.
I thought I had a great idea for a new profile picture, but… it might be too much. I don't know. I just don't know.
(At one point, my super-conservative mother was there and said, "I don't care if he wants flowers, but he better fuckin' repeal Obamacare.")
My dream last night was that the new US President was a hummingbird and I had to look after him at official dinners before his swearing-in.
@theg5prank Part of it is that web.py insists on poor style: methods named like GET, no __init__, &c. It goes positive if I change all that.
I thought PyLint gave your code a quality rating from 0 to 10. Having run it on my Python from 2010, I now know: 0 is not the lowest score.
@path1ckey Yes. (It was in a conversation more about copulation and less about mirrors.)
I quoted my mother the Borges line about how "…mirrors and copulation are abominable…" and she responded, "Then kaleidoscopes are terrible."
So, if I'm shitposting in French, can I say 'un shitpost', or does the Académie française insist I say 'un message de merde'?
Not for any real reason or out of any conviction, but just out of lazy habit, I write most of my interpreters in the Tagful-Initial style.
[the juicy j track 'all i blow is loud' except with the words changed to 'all i post is bad']
Next I'm gonna get skeletal animation working. After that—I might actually write an interactive video computer game.
@whitequark Well, that's promising! It'll certainly help de-clutter at least some of my code.
@whitequark It looks like the PR for the ? operator itself has been merged as of last month, too: github.com/rust-lang/rust…
@whitequark I remembered reading discussion about it, but I don't think I saw any conclusions. It might have gotten in without my noticing.
Minor Rust quibble: I wish .unwrap_or() had a short alias. It seems wrong that the safer choice is more typing than the less safe .unwrap().
(Next I gotta remember how to use Blender, 'cause for some reason Blender's UI does not stick in my head at all.)
I'm nailing down the model file format: I've got a Blender exporter and a loader which I can use with Rust+Glium.
On the other hand, I liked the "character" of Alpha 60 a lot… which makes sense, as his dialogue had lots of slighty modified Borges quotes.
No, seriously: the movie inverts the brightness more or less at random during the final action sequence.
Low points include the ridiculous inverted-brightness chase sequences and the characteristically regressive film noir sexism.
I'm gonna be contrarian and assert that Jean-Luc Godard's Alphaville is a film which in general has not withstood the test of time.
There are tons of Rashōmon parodies out there. Almost none include the character who is a ghost being channeled by a medium. Disappointing.
tattoo idea: `-M intel`
@shadyproject It's sold by the publisher Melville House, as the phrase is a nod to the Melville short story: mhpbooks.com/merchandise/ba…
brb setting up an email autoresponder that responds to every single email with this image
My mother texted me something today and it took me a moment to figure out what she meant by, "sad face imogee".
If I ever write a book about functional programming all the chapters will start with quotes from Theosophical texts.
@aaronmblevin @ProgrammerDude @pdxleif It's a great little distro, and it has frankly the best Unix-package-building tools I've ever used.
(Relatedly: Stack is a step in the right direction w/r/t Haskell tooling, but it still feels like beta-quality software at the very best.)
Understated bug reports are definitely my favorite: github.com/commercialhask…
I believe the film "A Dangerous Method" is about adding generics to Java and I will continue to believe this until I actually watch it.
Also, I laughed so hard at the reveal of where the name "Zardoz" came from that I had to briefly pause the movie.
…I liked the part where the dystopian future hippie rulers banish Friend by jazz-hands-ing at him for a while.
I finally watched Zardoz last night. I knew that was gonna be a bad movie… but still, it was a REALLY BAD movie.
Fun fact: OpenGL is unable to magically deduce what the correct index buffer is should you use the wrong one!
(…this was supposed to be a cube.)
My new hypothesis is that screensavers are just buggy OpenGL programs whose authors gave up and released them as-is.
@ka1mar @digitalyn …sadly meat.space is taken by some startup—but meet.space appears to be available! …for $4k/yr.
I just discovered there's a .meet TLD, so my new $1M idea is a dating site for science fiction nerds at theyre.made.of.meet
If I were to ever design a visual programming language, I'd indicate error handling by putting code in a Try-Angle.
In a blatant @mallelis rip-off, I wrote Zen Kōans With The Word Enlightened Replaced By Woke librarianofalexandria.com/woke-koans/
…this describes my emotional state both currently and in perpetuity
@whitequark @theg5prank I can't really blame undergrads for mediocre Python style. I CAN blame people for relying on undergrad-written code.
@whitequark @theg5prank TBF, the codebase I'm updating was undergrad code—they knew some of what they were doing but just lacked experience.
@whitequark @theg5prank But I would much rather be as close as possible to certain of what my code is doing, so I much prefer `is None`.
@whitequark @theg5prank To be fair, I don't think I've seen many—if any—cases of `== None` causing problems in "the wild", so to speak.
Maltese descends from Arabic, but much of the vocabulary is borrowed from Italian: so, lots of words like 'skola', 'ċentru', and 'teatru'.
I speak okay-ish Italian and a smattering of Arabic, which means listening to spoken Maltese is a surreal, wonderful bilingual experience.
"This cocktail just isn't quite as revolutionary as I had hoped, but I guess that's what you get from a Thermidori Sour."
@swizzard Turns out, there's a county in California, near-ish Sacramento, called Yolo. Despite being a native Californian, I had no idea.
@swizzard …to be totally fair, once I looked into those instances of Yolo, they weren't nearly as bad as I thought. Most were proper nouns.
NEVER NAME VARIABLES LIKE THIS AAAARG (and just to top it off, bar/baz are assigned to and never used)
This codebase is a gift that keeps on giving.
@tomas_mikula Having a literature on ethics means you don't have to reinvent the basics from scratch—not that you don't have to work at all.
@tomas_mikula I don't know how you got 'an accepted authority to which you can delegate all decisions' from 'moral systems have prior art'.
Certain problem domains require careful expertise and shouldn't be reimplemented from scratch by amateurs. These include: crypto, morality…
@aaronmblevin I mean, this is pretty consistent with the rest of our pinned items.
If you live in this house, nerds show up out of nowhere and change things and argue with you if you change them back en.wikipedia.org/wiki/WikiHouse
@MCantor This incredibly scientific resource is probably useful: papermag.com/twitters-bigge…
I just discovered that my [dumb]phone's predictive text system does not know the word 'smartphone', presumably as a market retention ploy.
My brother: "I would use Siri or Cortana if the voice was Herzog's."
This is a slightly fanciful English translation of the original:
an old config file
a frog symlinks a new one
the sound of alsa
"What if I make my probabilistic programming language quietly replace all distributions with poisson distributions that day?"
No. Also bad.
I'm gonna say it early: the only acceptable April Fools' joke is to tweet a 🐟 or possibly a 🐠. All other April Fools' jokes are bad.
@vrika I already have a Haskell library out there called S-Cargot, but I haven't yet made a cutesy logo for it that I like. Some day!
…should I help the community by contributing my Scala package to the Linux distro I use? Or should I help the community by… not doing that?
(…I clearly consider, "Inviting a flagship racist, sexist, fascist thinker to your conference," to be a Bad Process Result.)
If you use a process and come to a bad conclusion, you QUESTION THE PROCESS. DON'T defend the conclusion w/ "But I arrived here by process!"
Processes can embed hidden assumptions that their creators don't intend or realize! This is what we mean when we use the word "structural".
A big problem in Programmer Pop Culture is the idea that algorithms & processes are necessarily neutral or lack an agenda. This is Not True.
@path1ckey @itblumenfeld this + IRSSI + cupsd printer queue persisting between reboots + Galois work printer = some awkward conversations!
@path1ckey @itblumenfeld Ah, yes, RXVT's default definition of "print screen", which is "pipe the current terminal view directly to lpr".
I made a delicious Last Word—gin + chartreuse + maraschino + lime—and promptly tripped and spilled most of it onto and inside of my laptop.
(…I'm never gonna be able to beat a topical William Topaz McGonagall joke tweet, so I'm just gonna warn y'all, it's all downhill from here.)
Terrible Microsoft Bot of Tay!
Alas! I am very sorry to say
That it became Racist in a single day
In March of 2016
Talking to Internet Teens
@BenjaminFJones …is… is that a git faux pas? …I guess I have some filter-branch-ing to do.
@jtdaugherty …good point. (This was a personal repo on a local computer, not something public-facing anywhere, but still.)
I am the bad programmer. It's me.
This is the only commit in the repo. I am a terrible git user sometimes.
@vrika I was debating linking to examples of why the dude in question is objectionable, but they're even more disgusting and depressing.
@vrika In the sense of, "We can't reject someone based on political beliefs, and acute, unapologetic racism is just a political belief."
@vrika They paid lipservice to "inclusion", and then used that to justify inviting a well-known racist and slavery apologist.
@BenjaminFJones @josecalderon @jtdaugherty It's a cover of Strawberry Field Forever, recorded and then played through a speaker in a teapot.
@BenjaminFJones @josecalderon @jtdaugherty I was sure this'd be Alvin Lucier's Nothing is Real for piano and teapot youtube.com/watch?v=ag15Z7…
I did consider submitting a talk to LambdaConf, and I'm glad I didn't. I refuse to support any event that gives a platform to facists.
…they are, of course, taking up valuable brain-space I could be using for real languages or other useful facts. Conlanging: Not Even Once
I was awake until 2am last night because I was reading documents in/about my old conlangs. Surprised at how much I still understand of them.
I used this tweet in a talk once to explain what programming in C is like.
@aaronmblevin My personal definition seems to be that 'booze' is 'any acoholic drinks', and cocktail bitters are, er, alcoholic non-drinks.
@aaronmblevin There's also a style of drink called "digestive bitters"—e.g. Cynar, Fernet, Ratzeputz, Aperol—and I think of those as booze.
@aaronmblevin The bitters I collect are alcoholic but not a beverage—just a flavoring—so I think it depends on your definition of 'booze'.
…I have a hard time convincing myself to buy things unless those things are the essentials: Boozes, Bitters, or Books. (The Three B's.)
I've considered replacing my PC—a mediocre 32-bit one from 2008—for a while. Now it's having sporadic power failures at boot. Might be time.
@psygnisfive @shelfuu …you have a rich machine-readable API description, making interop between disparate services/parties much easier.
@psygnisfive @shelfuu So you can use semantic/linked data to describe, in a standard way, data and actions available to you, which means…
@psygnisfive @shelfuu (I mean, they *are* orthogonal—that was a tweet edit that went wrong, sorry.)
@psygnisfive @shelfuu This is how the "one-click actions" in Gmail already work—JSON-LD snippets to describe actions developers.google.com/gmail/markup/r…
@psygnisfive @shelfuu APIs aren't orthogonal to semantic annotation: you might use semantic annotation to convey your API endpoints, too.
@shelfuu @thsutton that's b/c all of my documents don't have any semantics at all. just a bunch of asemic documents.
I love how non-helpful it is. If I was really new to Twitter and didn't know how to retweet—how would I know which one WAS the retweet icon?
Twitter helpfully showed me this dialogue today. Fun fact: I have been on Twitter for seven years as of this month.
(Ozymandias was first published in 1818, so it's almost literally two centuries old.)
It's amazing how poetry written two centuries ago is still something we can relate to today.
@ntcomplete It was a great place! The guy working was really friendly and the latte was really good. (I drew a good shoe, too.)
@ntcomplete That's the one! (I was around the area to pick up the new issues of Monstress and Injection from @floating_world next door.)
Today, after picking up comics, I got a coffee at a basketball-themed coffee place, where I also had to sketch a shoe.
@jurieongames @maxkreminski No, I'm glad you mentioned it! I've gone back and tweaked the wording accordingly, too.
@vrika @rhiannonstone This is the first time I tried using it to literally bubble smoke through a liquid, which I'll have to try doing more.
@vrika @rhiannonstone gave me one of these as a Christmas gift this year, which I now use all the time: amazon.com/gp/product/B00…
Yesterday's experiment: running applewood smoke through a Boulevardier and a Martinez
Hypothesis: deliciousness
Result: hypothesis confirmed
@jurieongames @maxkreminski I actually that exact phrase written, and I changed it to be less video-game-specific—which… made it less clear.
@theg5prank I'm still waiting for the day when we refer to source code formatters like gofmt and autopep8 as "cispilers".
@Jyrinx …except in reality, C is not fine. C is very much not fine.
@Jyrinx Oh, I wouldn't want to program in Jai! For that matter, it's by and large "C because that's fine but with some small conveniences."
@Jyrinx I don't know exactly how far that'd go towards alleviating that pain in practice, though.
@Jyrinx Jonathan Blow's currently-vaporware language Jai has SoA and AoS keywords for basically this reason: github.com/BSVino/JaiPrim…
(This is a little bit half-baked, I admit, but part of the reason I wrote it is to help clarify the ideas there.)
I try to explain this idea regularly, so all in one place: Subject-Oriented Programming and Component-Entity Systems what.happens.when.computer/2016-03-15/sub…
The store had fiddleheads, so I'm doing a cheese ravioli with chicken and fiddleheads in lemon cream sauce for late dinner. Must be spring.
@theg5prank There are a handful of others, though. I don't think libraries like Pygments or Rogue or other libraries understand TextMate.
@theg5prank It seems to be used pretty commonly, at least. GitHub already uses it in their Linguist lib, and Atom and Sublime Text do too.
(Strawman proposal: custom languages defined in .linguist/custom.yml; submodules pointing to custom TextMate bundles in .linguist/bundles/.)
This would be wonderful for hobbyist languages or custom text-based data formats: they could have syntax highlighting right from the outset.
Feature request for @github: some way to include new syntax highlighters and Linguist language definitions on a per-repo basis.
weird how ed emberly has never met me, yet still made this woodblock print accurately depicting me
I've been replacing raw wxWidgets by developing a terser wrapper library. I think it looks better even at a glance.
When I started improving this Python codebase, PyLint gave it a quality score of 1.7/10. I've managed to get it up to 3.8/10. Working on it.
It's called 'Type Erasure' because it encourages the terms of a program to wear no disguise, and to come into the open. When it's cold outsi
Today I got distracted and missed a bus because I was working on an acoustic cover of the Electric Six song 'I Wish This Song Was Louder'.
This code saves things as a directory of pickled objects. The logic for saving/loading is spread across 37 distinct source files. aaaaaaAAAA
@thedagit @BenjaminFJones @jtdaugherty @josecalderon zipWithout :: (a -> c) -> [a] -> [b] -> ()
@MrPutter It's pretty basic: a list of lambdas that should return True, each with a name, each called at regular points throughout the code.
Said codebase uses that mechanism in exactly one place. Said codebase has more than 35,000 lines of code. …yeop
This codebase has some scaffolding which is used to manage 'sanity checks' in the code, like named sets of dynamic assertions. Nice idea!
(I am not a covetous person except when it comes to books in which case I covet all of them.)
At this point, I have wanted to buy a copy of Daniels and Bright's "The World's Writing Systems" for quite nearly half my life. Some day.
@jtdaugherty @josecalderon At what N do you break down and use `{-# LANGUAGE ParallelListComp #-}` instead?
@acfoltzer Fun Fact™: kouign-amann is Breton for 'butter-cake', which is a pretty informative—if not particularly creative—name for it.
@kfoner unsafePerformGender
@josecalderon (…I don't know how that second 'right' got in that tweet, but I suppose it does work for emphasis.)
@josecalderon I would suggest Courier, which is right right next to Powell's Books!
I should mention that, given my love of Harvest Moon-like games, I have really been enjoying Stardew Valley this past week. It's excellent.
Adventure Time episode where Lumpy Space Princess returns to Lumpy Space to foment revolution and must try to energize the Lumpyproletariat.
The Beck-del Test: your movie must contain two turntables who talk to each other about something other than a microphone.
(Maybe someday I will also draw his architect pals, Frank Lloyd Shrike and R. Beakminster Fowler.)
"Getty, what'd you get done today?"
"Well, I was home sick, so I drew a bad picture to accompany a bad bird pun."
here's my original character—a raven architect who designed the united avians headquarters. his name is Le Corvusier
I had a bad cold for about a week, so didn't feel like drinking coffee. This is the first coffee I've had in a week. It's… beautiful…
@MCantor I haven't done any teaching for almost half a decade, but student feedback from 2011 can still make me happy.
@BenjaminFJones (The full phrase "Tennōheika Banzai!" means "May His Majesty The Emperor live 10,000 years!" and was a battle cry in WW2.)
@BenjaminFJones Actually, Banzai! (It's Japanese for "ten thousand years", has associations with the Emperor, and was used like 'hooray!')
@rhiannonstone For a moment I thought you meant Claude Lévi-Strauss, and wondered what structuralism had to do with blue jeans.
I am home sick and I should try to work but instead I'm looking at WikiHow illustrations for ghost hunting tutorials
Lotta people don't know the history of 'Ye' in 'Ye Olde'. It's actually short for Kanye—because Yeezy is immortal and once owned all things.
bringin' it back in a vain stab at relevance twitter.com/aisamanra/stat…
Needs work but looks fine at emoji sizes, so for your Slack needs: gdritter.com/imgs/nice-emoj… gdritter.com/imgs/nice-emoj…
@JonSterling …terminology: he excoriates the world for not already having his insights, or not adhering to his new terminology.
@JonSterling …a subset of static languages, in order to quickly dismiss them as "hobbled" and "tyrannical". He doesn't just offer new…
@JonSterling …symptomatic of "broken" or "mistaken" compilation strategies, or the rhetorical trick in which he treats dynamic languages as…
@JonSterling …Bob's alternate terminology is often specifically positioned in a confrontational way: for example, by treating TCO as…
@JonSterling I think that's a fair criticism, and I think it's also fair to experiment with new terminology. But an addition aspect is that…
@JonSterling The thing I quoted is from existentialtype.wordpress.com/2016/02/22/it-… which I agree with in basically all but specifics of the rhetoric!
@JonSterling …clarifying, in that 'static' vs. 'dynamic' hints at pragmatic concerns which aren't raised by the 'unityped' jargon.
@JonSterling It is true that it's not older Harper's coinage, but he was responsible for repopularizing it. And I don't think it is very…
@JonSterling …using the old definitions would have, in these cases, been just as clear.
@JonSterling That is sometimes true! But I think the examples I gave here are made less clear by adopting new definitions, especially when…
(To be clear: his overarching point of, "recursion is not about its implementation," is absolutely correct. He just argues it poorly.)
Instead, he goes for "TCO doesn't exist!" which is confusing and smug. "With my definitions, the vast bulk of existing literature is wrong!"
I understand his point, but "TCO is just an implementation detail of recursion" would have been a much better way of putting it.
This argument-via-redefinition is my least favorite feature of Bob Harper's writing. (See also: "unityped" langs.)
I try not to be TOO self-indulgent in writing. On the other hand, I went out of my way to include the word 'passivate' in this short story.
Stat rosa pristina nomine, nomina nuda tenemus.
@shelfuu @joeranweiler At one point I rewrote my static web sites in Make+bash (seriously) because of Pandoc compile times.
I learned today:
1. GCC has a logo.
2. It is, like, really bad, even by Open Source Software Logo staFaPddHUI
I love informative man pages.
I wrote a short blog post motivating an unusual but interesting mathematical notation advocated by Dijkstra: what.happens.when.computer/2016-02-17/dij…
@JonSterling …and fails to abstract any of it away or reuse much code, so there are slightly different copy/pasted chunks of code everywhere
@JonSterling For example: the code that handles the GUI progress bars uses 2 threading libraries and 3 separate asynchrony systems…
@JonSterling I feel a little bad making fun of it, 'cause it was originally academic/undergrad code. But still—it's baaaaad.
…this one is pretty funny, too, but I at least halfway understand why it's there.
There's a lot of confusing stuff in this codebase, but this line is by far the most inexplicable.
@jong @rhiannonstone …the primary goal of airport security, after all, is protecting the airport's gaits.
@DanielleSucher Alice & Bob? Lovelace & Babbage? Hopper & Backus?
Magical and industrial and unnatural and tasty. Y'know, like this. @psygnisfive
@BenjaminFJones (That's what I do, on account of Dylan's signature layout program being Mac-only.)
@BenjaminFJones It gives you less control, but you can also use commonly-available command-line tools like psbook to create the signatures.
@BenjaminFJones I say follow Dylan's tutorial, then, as it shows you a very simple perfect binding: cheapimpostor.com/dayinlife/inde…
@dylanmc @acfoltzer @BenjaminFJones By the way—the other tutorial you link to is dead. The text is still on Wayback: web.archive.org/web/2011081111…
@BenjaminFJones Are you looking for a particular kind of binding? e.g. hardcover, paperback, perfect, stitched, &c.
My OpenGL explorations today are vaporwave as fuck.
…but it's delicious! It's got a weird darkness in color, but it has a wonderful blend of flavors and smells spectacular, too.
The Trilby No. 2—1¾oz scotch, ½oz sweet vermouth, ½oz parfait amour, orange bitters, absinthe rinse—is like green-gray industrial byproduct.
The Jupiter—1½oz gin, ¾oz dry vermouth, 1tsp parfait amour, 1tsp orange juce—has an unnatural chilly-gray hue, like I'd imagine a potion.
Parfait Amour is tasty in cocktails, but lends them a frankly terrifying color. They all look magical or industrial or often both.
@basmatiheather I've read about Chinglish—which is a similar but still very different phenomenon—but I hadn't read about Hinglish!
It's not the worst quality-wise—but I still find the most obnoxious thing in this codebase is how much it uses this:
Codebase findings:
The legends say some day the {-#LANGUAGE#-} pragma lines will tower high into the heavens, and SPJ will descend and confound our language.
(It is actually polymorphism over boxed/unboxed values—i.e., over "liftedness" or "levity"—and not, sadly, polymorphism over frivolity.)
Since this tweet, I've had to explain multiple times since that levity polymorphism is real, not something I made up twitter.com/aisamanra/stat…
GHC 8's Levity Polymorphism allows Haskell code to be used in both frivolous AND non-frivolous situations (rather than just frivolous ones.)
@silentbicycle …I would totally write a proposal for the ConScript Unicode Registry, but I don't have time to isolate all the glyphs myself.
@silentbicycle This got me looking—I've found someone who's isolated all 400-odd of the upper-case glyphs, but not the lower-case ones yet.
…but I mean, what else would you put in pockets, if not books?
I repaired pockets on 3 different coats today. All of them burst because I kept books in them. I am a nerd who does not learn his lesson AMA
@WarrenIsDead i may be naive, but i vainly want to believe that there is still pure untainted good in the world [viz. the riddick post]
@WarrenIsDead …which would have been depressing but at the same time 100% believable.
@WarrenIsDead I think it was graeyalien who did the Riddick post, and I thought you were indicating that Bakkila was also graeyalien.
@WarrenIsDead I thought horse_ebooks was agentlebrees a.k.a. Jacob Bakkila, not the same guy as the Riddick post.
@WarrenIsDead …wait, how did he ruin horse_ebooks?
…surely drawing a pixel art avatar for your gitlab user profile picture is a good use of time. Surely.
From this moment on, no election talk for me. (Seriously—it's only just February and I am already 100% tired of the Election Discourse.)
I expect I'll still talk about politics generally, but I solemnly promise that my Twitter account will be an American Election Silence Zone.
@PLT_cheater The people who made it are really nice so I don't want to trash-talk it by name! …but by image is fine.
…it ended with a Space Giraffe taking a Cube Shuttle to the Rainbow Spirit Planet Sending Good Vibes Across The Universe. So there's that.
I recently saw an awful low-budget scifi film & want to trash-talk it, but the creators namesearch a lot & seem nice. I don't wanna be mean.
@jong My plan's is to put the magnet up at work. I can only assume it's some kind of Collector's Item now.
Good architecture-inspired metal bands:

Bad architecture-inspired metal bands:
…the rest of the haul was pretty good, too. (Not pictured: the PostScript Language Reference I got for $4.)
I checked: this Amazon logo was used briefly in 1998, so this book must have been originally purchased from Amazon some time 18 years ago.
I bought a used copy of The Visual Display Of Quantitative Information yesterday and it had this Amazon stuff in it.
Well, there goes my support. twitter.com/snopes/status/…
…presumably someone has already made a joke about feeling the
@JonSterling @psygnisfive I mean, I already kind of do this in Haskell, but just informally by using constructor names with common prefixes.
@JonSterling @psygnisfive …I do like that enum (i.e. sum type) constructors are namespaced in a module named after the type they construct.
@JonSterling @psygnisfive It's really more of a (slightly awkward) namespacing mechanism than a proper module system.
I just got an email from a coworker with the subject 'Learning Rust' and the entire text of the email was, "This module system is stupid."
I made this for dinner tonight, and therefore can confirm that it was exceedingly delicious. twitter.com/silentbicycle/…
@cizyprijev i ku'i zoi gy. don't mean a thing .gy. selsmu lu je'a smucau li'u. i ji'a zoi gy. nasty .gy. selsmu lu rigni li'u.
@cizyprijev sagypemci be lo selsa'a be'o zoi gy. nasty boys don't mean a thing .gy. cu selsmu lu lo cinse nanla na vajni li'u.
The literal sense of my Lojban translation of Janet Jackson's song 'Nasty' includes the repeated line, "Disgusting young men are asemic."
Sometimes mediocre authors make up fake languages to trick nerds into reading bad books, which is why these languages are called "conlangs".
I sometimes hear people talk about 'seasoned BASH programmers', but it doesn't really matter how you season them, they're still too stringy.
Conceptual Jenga: you and your opponent remove underlying assumptions in turn until your collective ideologies crumble into meaninglessness.
I JUST noticed a typo in this image: it says 'drila' instead of 'dril'. I apologize to all my Quenyaphone followers. twitter.com/aisamanra/stat…
@JonSterling @d_christiansen @pdxleif You've presumably already read Poul Anderson's classic short text "Uncleftish Beholding"?
@chrisamaphone The classic example I know of is Hamnet: en.wikipedia.org/wiki/The_Hamne…
Taking the last word of each line we get: "Cloths, light, cloths, light. Feet, dreams, feet, dreams." Clearly Yeats was phoning this one in.
The W.B. Yeats poem 'Aedh Wishes for the Cloths of Heaven' is very effective—but it has some laughably lazy rhyming. Get it together, Yeats.
I've just started reading this codebase and am already considering getting a separate Ardbeg bottle to keep at work.
@rhiannonstone @shelfuu There are two Google hits for 'retroneologism' and naturally one of them is a Wikipedia talk page.
@shelfuu blog.plover.com/prog/haskell/m… (…is there a word like 'neologism' that means 'a new sense for an old word'? I don't know of it, if so.)
@shelfuu I once saw someone—I think @mjdominus?—propose the pseudo-neologism 'mote' for monadic values, and am sad it never caught on.
Γ ⊢ bush(P), bush(P)
Γ ⊢ hand(P)
@JonSterling …this is the (perhaps a little too mean-spirited) second sentence of my OkCupid profile.
(this pun is so terrible i'm not even gonna say it. you'll just have to imagine.)
It solves a problem, but does so with a significant amount of under-the-hood complexity. When Docker's abstractions break, they break hard.
Every time I use Docker I like it a little bit less. I've used docker for two-ish years now, which means I currently despise Docker.
"A lot of smart people really like this recipe, but it's always struck me as bland and insubstantial. Yeah, it's a Bostrom Cream Pie."
Arguably, searching for 'asemic' should yield meaningless search results, which could very well include Sundanese tamarind-based soups.
I thought this was badly targeted advertising. Nope: it's the Indonesian dish 'sayur asem'. I searched for 'asemic'.
@acfoltzer how d'you know it was me? coulda been anyone who'd go get a bottle of apple juice & remove the label for a topical internet joke
As a linguist-turned-programming-language-theorist, I really ought to write a paper on Prepositions-As-Types.
Now it is easier for people to read my bad posts, which means this action overall had net negative utility for the world at large.
I found out that the atom feed for my blog was, like, horribly broken, so I did some fixing. It now has a W3C Validator seal of approval!
I further clarified: I believe workers are entitled to all the value they create—rather than shunting wealth to capitalists—but I also lift.
My mother texted me to ask yesterday what 'swolshevik' in my display name meant. I explained: it means I support the swoletariat revolution.
More constrained-palette pixel art! It had been a while. …efireattheshoemakersestate.tumblr.com/post/137607387…
Tonight's cocktail is a Bitter Elder, which tastes like I wish grapefruit juice tasted. Gin, elderflower liqueur, campari, and citrus.
@JonSterling (That's clearly internationally comprehensible. Clearly.)
@JonSterling (Mi ankaŭ povas uzi la universalan lingvon: la popolbonmaniereclogiko! Vi havas nenion perdotan krom viaj ĉenoj!)
@JonSterling (Both my Russian and my Mandarin are rusty, and were never good enough to know if those are proper idiomatic translations.)
@JonSterling (In case you want to have a few more specifically Soviet or Maoist designs.)
@JonSterling Also, I've got 'народная логика усовершенствования' and '人民精炼逻辑' as tentative translations of 'The People's Refinement Logic'.
@JonSterling If nothing else, something along the lines of, "WORKERS OF THE WORLD, REFINE!" would have a nice ring to it.
@JonSterling A row of stylized, geometric workers' hands holding various logical symbols, for example?
@JonSterling I think simple Soviet Constructivist-style designs would look cool and also be really amenable to t-shirt-ization.
@JonSterling …designs that are more focused on the hat+star as a simple symbolic motif.
@JonSterling I was thinking of a few other variations! Among other things, if you wanted to move away from the "Jon" theme, I could do some…
check out my new low-budget horror movie about a haunted liquor license, "NOTICE OF PUBLIC FEARING"
@BenjaminFJones What is the point of having a carrier if you have to bring your own data?
I had a dream last night where hashtags were exclusively used for talking about genders, so that '#blah' was pronounced 'gender blah'.
@ChadScherrer It's actually a lot more interesting than that! en.wikipedia.org/wiki/Ice_spike
I don't understand why the 'Quantified Self' schtick is interesting to people, especially when its antonym—'Unbound Self'—is so much cooler.
@joeranweiler @BenjaminFJones
It wasn't perfect, but still very interesting. You have to respect a zombie-ish movie that quotes Roland Barthes in a plot-relevant way.
Last night, I watched a low-budget horror movie called Pontypool, which was like a cerebral zombie movie from the POV of a local radio DJ.
Well also I guess I've been programming and writing and whatever, but the cocktail thing is the only INTERESTING thing I've been doing.
Here's what I've been working on: I got a new kind of liqueur that is confusing and weird and I don't know how to use it in cocktails. …yet.
@aisamanra (Similarly—for "museum" I constructed the word 'enyalnómë', which means "place of remembering". Quenya has no word for "museum".)
@aisamanra (…'ambal' technically means "flag" in the sense of "shaped stone, flagstone". Not sure of a better Quenya word for "flag".)
nerds ruin everything and i am not helping
yes, yes, i hate me too
@shelfuu @path1ckey I think I need to link to the Butt Song from Hell now: chaoscontrolled123.tumblr.com/post/763056325…
@path1ckey @shelfuu It's also called the 'principle of explosion' but ⊥→💥 looks even more like a fart.
@shelfuu The classical axiom ⊥→P is sometimes called 'ex falso quodlibet', and a quodlibet is also a kind of song: therefore, ⊥→♫
@shelfuu I like how you answered your own question with the hashtag.
@JonSterling @ak3n @dannygratzer Well, τί ἐστὶ Ἑλληνικόν ῥῆμα εἰς "proof refinement logic"? (…speaking of languages I don't practice…)
@ak3n @JonSterling I wish I could pretend that was on purpose—но нет, это потому что я не часто практикую говорить или писать по-русски.
@JonSterling I would be more than happy to contribute some propaganda posters for the Конференция Логикы Усовершенствования Доказательств.
My lovely partner gave me a smoke gun as gift, which I put to use tonight for cherry bark smoke in my favorite cocktail, the Alexander Wept.
@silentbicycle @whitequark (Well—pattern-matching on algebraic data types; SNOBOL had regex-ey matching, which is similar but not the same.)
@silentbicycle @whitequark So Hope and C were both being created independently around the same time, with presumably little cross-influence.
@silentbicycle @whitequark And pattern-matching didn't make it into ML as a feature until the late 70's/early 80's, with Cardelli's VAX ML.
@silentbicycle @whitequark Pattern-matching first appeared in the Hope language, which was developed around the same time in the early 70's.
@aisamanra Who can forget the classic scene where la Ĉeŝira Kato points Alicio down two paths, one to la Ĉapelisto, one to la Martleporo?
I was unable to find an Icelandic grammar—or even primer—but I did pick up an Esperanto-language copy of Alice's Adventures in Wonderland.
@rhiannonstone @MCantor That's why I buy monoprice.com/product?p_id=9… by the half dozen and keep them scattered around anywhere I'm likely to be.
I'm now working on my own client for reading Twitter, and one feature I'm most excited for is pagination. (Because infinite scroll is crap.)
@aaronmblevin (Section 7.2 of the paper elaborates more on the differences between Modular Implicits and Scala's implicits.)
@aaronmblevin (Scala implicits find a "more specific" implicit instance: e.g. the equivalent of C [Int] is more specific than C a => C [a].)
@aaronmblevin …and modular implicits will always fail to compile if there's ambiguity, while Scala uses rules to determine a "best match."
@aaronmblevin Two big differences from Scala: implicits only work on modules, which live in a different "space" than where values live…
@aaronmblevin It's described here lpw25.net/ml2014.pdf and implemented in an OCaml fork here github.com/ocamllabs/ocam…
@aaronmblevin I think it's a good tradeoff—you get e.g. terse overloaded arithmetic operators but can sidestep the magic unless it's useful.
@aaronmblevin There's Modular Implicits, which is a propsed feature that effectively acts like opt-in compiler magic for ad-hoc polymorphism
…to that end, I also had to draw a lot of stylized fruits, and I've put those on Github under a CC license: github.com/aisamanra/frui…
I wrote a bot that tweets logos for new casual dining restaurants, inspired by that one casual dining restaurant: twitter.com/casualdiningex…
Much like atlases have trap streets and dictionaries false words, recipe books should have uncookable recipes to trap potential plagiarists.
@jamey_sharp Ah, but before 2013, I didn't ever sit in rooms different from the one you are in now. My resolution worked!
I'm starting the New Year off writing! Here's a post about historical implementations of algebraic data types: what.happens.when.computer/2016-01-01/ear…
I actually have a pretty good track record on my New Year's Resolutions.
If the Hero goes on multiple distinct Hero's Journeys simultaneously, but still values and cherishes each adventure, then it's a Polymyth.
'Casablanca: Cult Movies and Intertextual Collage', Umberto Eco
The best thinkpiece I've read about The Force Awakens so far is Umberto Eco's 1984 essay 'Casablanca: Cult Movies and Intertextual Collage'.
But no, programmers love their One True Way so much they imagine violence even against alternate idioms in the same programming language.
There's a recent, otherwise good blog post that starts with, "[Other technique] needs to die a horrible death." You can use both! It's fine!
I wish programmers could say, "Here is a new thing that you can use!" and not, "THIS IS THE ONE TRUE THING, ALL OTHER THINGS ARE BAD NOW."
Betteridge's Law tells us that any headline that ends in a question mark can be answered by the word, 'no'.
p.s. the govermnet is bad
I did gift-wrapping with white paper and stencilled on the recipients' names. Y'know, like if Banksy gave us gifts.
The Metafont "proof mode" isn't what you might think, although technically it IS a mode for verifying type correctness.
@acfoltzer @ComradeSoviet It was put together by @losthiskeysman, who may know where you could acquire a copy elsewhere.
…okay, this actually makes a reasonable amount of sense, at least from a manufacturer's point of view. twitter.com/whitequark/sta…
Lots of aspects of the Internet of Things confuse me, but what's most mystifying is: why make smart bulbs instead of smart sockets?
I can't wait to get my claws on the new Otherkinfolk: advice for small gatherings of otherworldly creatures.
hey everyone check out my coloring work in this beautiful coloring/activity book @acfoltzer got me
@Support Is there any option to make my timeline stay in chronological order? The out-of-order timeline is a terrible misfeature.
William Morris is my hero. Just look at the categories for his Wikipedia page.
(That said—I probably won't get around to the new one any time soon. Only movie I've seen in a theater in the past 1½ years was Videodrome.)
I was such a big Star Wars nerd as a child that at 12 I named my cat after Anakin Solo, who was Han and Leia's son in the Extended Universe.
Is this some kind of retribution? Can Twitter tell that I've used GreaseMonkey to hide the Moments button and the Trending Topics panel?
Twitter web interface appears to be showing me that out-of-order timeline crap—but thankfully, emacs twittering-mode orders tweets properly.
@ffee_machine It think I read it as an old-fashioned-DeviantArt-ey emoticon of a cat wearing a dunce cap. Like, XD goes to X3 goes to <X3
Haskell is a good language because (<3) is a valid expression in it. What would a Lisp use? (lambda (x) (< x 3))? That's not a heart at all.
Halfway into Sibelius' symphony Kullervo a previously silent men's chorus suddenly begins singing loud & deep. I like to call it 'the drop'.
@d_christiansen @ffee_machine @YanPenelope Interesting! I just saw a Lisp-ism in Idris and thought, "Ah! Of course, from @d_christiansen!"
@ffee_machine @YanPenelope I'd guess it shows up in Idris because of Common Lisp influcence. I know I've talked to @d_christiansen about CL.
@YanPenelope I think it's supposed to be the English word 'the'. You can read (the integer 2) just like the English phrase, "the integer 2."
@YanPenelope This explains it reasonably well, although it uses Common Lisp-specific jargon pretty heavily: cs.cmu.edu/Groups/AI/html…
@YanPenelope It's only supposed to do that dynamic check in interactive code, though; it's intended as a hint that should get compiled away.
@YanPenelope It takes a type representation and a value that's supposed to be of the type, and then returns that value: (the integer 4) => 4
hello yes its me the trash human being what chooses where to eat based on old dril tweets twitter.com/dril/status/82…
Three sketches of mine, done over the course of seven years, all of the same subject matter …efireattheshoemakersestate.tumblr.com/post/134829073…
"A short, sturdy creature fond of drink and academia."
@acfoltzer look—some days i wake up, i face the day, and i draw some ants and fake database logos, and thats all there is to it
"In tests, our system has been shown to be twice as perform-ant as other leading NoSQL Databases…"
Some people dislike the word 'performant'. I think it's great, 'cause it always makes me imagine a performing ant.
@jayfallon @PhilDarnowsky I'm not sure of its capacity, but it looks like that model maxed out at 20GB of space. So, y'know, huge. For 2003.
While looking for an SD card last night, I found my first MP3 player, shown here with a quarter for scale.
Ah, the nostalgia! Who can forget the classic early video game Lemmas?
I'm working from my aunt and uncle's house south of Estacada, which means the view from the window looks like this:
@aaronmblevin It was published in SIGBOVIK, the April Fools computer science journal, this year: sigbovik.org/2015/proceedin…
@yfyf Does the existing Atom feed not work? I've gotten Feedly to read it, but there might be problems for other readers I haven't noticed.
Oh, yeah. I was planning on writing more things. Here's a short description of the tiny object-oriented Io language: what.happens.when.computer/2015-11-20/io-…
Also in this lecture series: Larry Wall's "Radical Simplicity in PL Design" and Rasmus Lerdorf's "Types and Modules"
This is a great short essay about a Nahuatl verb that is formed of two affixes and no stem: www-01.sil.org/~tuggyd/Tlahti…
I finished two books while on planes this past week: Bruce Chatwin's In Patagonia, and Shirley Jackson's We Have Always Lived In The Castle.
…can you create derivative fan works based on music? What I'm really asking is: can I compose Pachelbel's Non-Canon?
Today I bought a copy of Oliver Byrne's beautiful, colorful edition of Euclid's elements, which can also be read at archive.org/details/firsts…
@ffee_machine @BenjaminFJones Additionally, bits of Roi Ubu—like the almost-a-swear-word 'merdre'—show up in lots of 'Pataphysical writing.
@ffee_machine @BenjaminFJones The proto-dadaist play 'Roi Ubu' was Jarry's first foray into what he would later codify as 'Pataphysics.
Q: What is Ubu the King's favorite part of South America?
A: 'Patagonia.
@acfoltzer @acwpdx Why write a font in PostScript? That's what MetaFont is for!
@acfoltzer @acwpdx (…the worst part is: I'm not using Comic Sans—I'm using a Comic-Sans-inspired open source font. I am a parody of myself.)
@acwpdx @amirmc I still think it's a good logo idea. It really pops, don't you think?
@acwpdx @amirmc I have not. I was afraid it'd be too

Don't worry—I got this. @acwpdx @amirmc
(…I have not read House of Leaves. I am talking trash solely on the basis of his short introduction to a book of architectural philosophy.)
more like House Of Leave The Wordart Button Alone, Buddy
I've never read any Danielewski before, but he wrote this intro to Bachelard's The Poetics of Space and now I want to punch him in the face.
My new cocktail: vodka, parfait d'amour, and cream. I call it… a Parfait A-moo-er.
People need to stop tagging instances of Soviet-era constructivism as 'socialist realism'. IT'S NOT SOCIALIST REALISM UNLESS IT'S REALIST.
They say 'write what you know'… so I wrote about one of the dorkiest things possible: a basic introduction to Lojban what.happens.when.computer/2015-11-07/loj…
@JonSterling (I love trying to emulate established art styles, so it does sound like exactly the kind of thing I'd be interested in.)
@JonSterling I've never tried it, but I'd be interested in doing so. Give me a week or two to experiment and I'll let you know!
@JonSterling Of course! gdritter.com/imgs/jonprl-re… (If you want it changed at all, I'd be happy to do that, too!)
I am so on it. @JonSterling
@MCantor …uh, a hand-written static site generator in Scheme which processes a custom markup language. (I'm kind of insufferable like that.)
I've decided to start doing regular short-form blogging about various miscellaneous topics: what.happens.when.computer
@paul_pearce @theg5prank 💔
Debugging a problem in the RSS reader I use. It's got a large file called `functions.php`, as well as another large file: `functions2.php`.
(…did anyone else have a brief theosophist phase during high school and read all about Agartha and the hollow earth? …just me? Okay, then.)
The best resource for everything you need to thrive in the hollow core of our planet! S. Brand and E. Halley present THE HOLE EARTH CATALOG
Personally, I'm holding out for a game with a 'pataphysics engine.
The physics engine in this game is pretty decent, but it's got an amazing metaphysics engine.
The hat came out kind of shoddy and ill-shaped, but that's arguably in-character.
@glyph Something on Wikipedia incorrectly linked to it instead of a different WML. How it's relevant enough to be on Wikipedia I don't know.
@theg5prank There are an entertainingly large number of subtly wrong details with the whole thing.
We Made A Terrible Tool With High Barriers To Entry And Will Insult You For Not Being 100% Proficient In It: The UNIX Ecosystem Story
ESPECIALLY if you want to read docs that reek of the worst kind of sneering, self-satisfied nerd-smugness.
I found the worst web design tool. Y'know, just in case you wanted to generate web pages with Perl AND with m4: thewml.org/about/
i forgot to post it until now but last week I did a pixelly art of @shelfuu's profile picture and here it is
In all honesty, E.B. White was a great writer, but The Elements of Style shows that he had no idea what it was that made his writing great.
too bad about the adjective there… if he'd only read Strunk & White he'd know that adjectives produce tepid writing…
hey if your service could implement a 'never ask me about adding a phone number again ever' option that'd be awesome thanks
It is, as far as I know, the only Haskell s-expression library that supports arbitrary reader macros. (Is that useful? Who knows! Maybe!)
My annoyingly expressive Haskell s-expression library, s-cargot, is now up on Hackage, for all your s-expr needs: hackage.haskell.org/package/s-carg…
@ffee_machine @YanPenelope …I have no idea where the 'botanist' part comes from. Also, it's inflected as a plural genitive ("of botanists")?
@ffee_machine @YanPenelope It read to me as, "Skateboards for the skateboard god! Botanists for the nerd throne!"
person 1: foldable tuples are bad
p 2: they're good
[i ride by on a skateboard eating go-gurt] its yogurt in a tube, nerds. ever heard of it
Any thing woth doing is worth doing with pedantic and insufferable attention to irrelevant detail probably.
Adjunct Professor Oak has to work on military Pokémon applications, because all other funding has dried up, and he makes below minimum wage.
American Pokémon: all the trains are slow, the bridges are cracking, and you spend the whole game paying off your first Pokémon center bill.
As an American, I find the Pokémon games to be a tantalizing view into a world with working, well-funded public services and infrastructure.
@BenjaminFJones @thedagit The one I use—Void Linux—is systemd-free.
@kfoner It ought to be. I could put this right next to a "my other car is a cdr" bumper sticker.
@ChadScherrer I think the concrete details of the APIs are less important here than the process (or lack thereof) behind changing the APIs.
Experimenting with pixel-art-ish techniques on non-square grids. It's weird—and I'm bad at it so far—but promising!
Today I saw "how the sausage was made" in the sense that I wrote a bunch of PostScript by hand, but also in the sense that I made sausage.
@acfoltzer there's nothing problematic about my OTP
Non-canonical parsing methods include Left-Corner Parsing, Partitioned LL Parsing, NSLR Parsing and Snape-And-Dumbledore-Making-Out Parsing.
@d_christiansen @acfoltzer @n1nj4 It makes great old fashioneds, which are great when they are a bit sweet and a bit smoky.
@d_christiansen @acfoltzer @n1nj4 …I have a bottle of lapsang souchong liqueur, and I should absolutely try adding it to mulled cider.
"…some Forths on the newer processors handle 32-bit addressing, allowing unimaginably large programs."
—Leo Brodie, 'Thinking Forth' (1984)
@path1ckey more like carmad amirite
@ChadScherrer In this case, the word is 'explode', which is used to describe a particular part of the lift.
To wit: I developed the problem in part by misunderstanding the connotations of a word used in describing motions used in lifting.
I've almost fixed a persistent problem with my Olympic lifting form. The problem was partially linguistic in nature, which was interesting.
@josh_triplett @jamey_sharp
looking forward to being banned from editing wikipedia
…someone described Happy Home Designer to me as "Animal Crossing meets Glengarry Glen Ross" and I keep picturing this
@danluu @DanielleSucher But when I do get around to it, I can certainly let you know I'm in the area!
@danluu @DanielleSucher Let me know when you do! Similarly, I keep intending to go up to Seattle soon, although things keep coming up.
I'm seeing Videodrome on the big screen tonight, so I'm rereading this essay: web.archive.org/web/2013083000… (Content warning for—well—Videodrome.)
"The docs SAY it's R5RS-like, but it's apparently NOT R5RS-LIKE ENOUGH, IS IT?"
I put in a three-line PR to tweak the lexical syntax of identifiers in a small Lisp implementation because I am the Worst Kind Of Person.
@shelfuu @kfoner It's been a long time since I've read it, but I remember it being a quality book.
Screens in the elevator of my SF hotel with helpful information on how to improve my brand.
Drunk Polish person at the bar tonight insisting that Polish is a Romance language.
…the paper that describes Shift-Resolve parsing is probably one of the most impenetrable things I've ever read.
I'm in an airport waiting for a flight to San Francisco, and using the downtime to implement a toy Shift-Resolve parser.
@jtdaugherty @BenjaminFJones (…although if you'd like to wait until next week, I'd happily go with you and watch it again.)
@jtdaugherty @BenjaminFJones It is a wonderful film. Unfortunately—I forgot to email to say this—I'm gonna be out of town this weekend.
"Supercalifragilisticexpialidocious, often shortened to s32s…"
I prune my music library via compacting GC—move good music to new folder, delete old one—and I start like any good GC
…the resemblance is uncanny
Adding software developers to a late project makes them fuse into a horrifying humanoid lepidopteran, also known as the Mythical Man-Moth.
This, for reference, is the very useful thing you see when you open crates.io in elinks:
The crates.io site—for Rust packages—requires JavaScript. This is neither a web app nor a dynamic site. It should ABSOLUTELY be static HTML.
@acwpdx @betalister I am also a big fan of poaching in other liquids. Beer-poached eggs served with toast, goat cheese, & avocado—delicious.
…Georgian soft drinks are really, really good, although they're confusingly often called 'lemonade' (ლიმონათი) even when they have no lemon.
I now have a convenient Portland source for tarhuna (или «тархун» по-русский) which is a delicious Georgian tarragon soda I've been craving.
"This error message is quite misleading and frequently the problem has nothing to do with the message."

Thanks, GCC FAQ.
@vrika It turned out mostly quite good, but it did need something more salty/savory as a balancing flavor. Not sure what that should be yet.
Tonight's invented recipe: cider risotto with maple-and-brown-sugar-glazed scallops, apples, and chanterelles.
The Pico-8 is a really awesome little retro-styled virtual video game console: lexaloffle.com/pico-8.php
I've been playing with the Pico-8 and put together a little maze-exploring game as practice: gdritter.com/imgs/maze_isla…
I might change one or two details, but it's pretty close to done, I think.
Did you know that in addition to being a bad programmer and a bad-opinion-haver, I am also a bad painter? It's true!
@jtdaugherty The very one. I'd had other things from them, but I hadn't gotten around to trying the Cold Fashioned before.
I love it when the clouds are low enough that they touch the hills around Portland.
I also had a wonderful non-alcoholic old-fashioned made with cold brew instead of whiskey earlier today.

No, YOU'RE a Portland stereotype.
Today: starting a small batch of pale ale, some painting, and restringing a mandolin. Also, a lot of Animal Crossing.
@aaronmblevin I did in fact have a serious debate with myself about whether to bring/wear the outfit depicted in my Twitter profile picture.
I feel like there's a kind of playfulness present in Scheme programming that I don't feel as much when programming in other languages.
I've been idly writing Scheme for a personal project this week. It's a lot of fun. I really should make time to write Lisp more regularly.
@joeranweiler I use crusty homemade breads, but I've made it on San Francisco sourdough (which I don't like much) and it's still good.
@joeranweiler Paper-thin slices of asparagus sautéed in bacon grease, small bits of crispy bacon, fresh buffalo mozzarella + smoked cheddar.
I should mention that I'm at ICFP doing ICFP-type things, if you too are at ICFP and want to say hello. (I basically look like my avatar.)
PDX ↺🚗↻ SEA ↺🚗↻ YVR

(thats probably moderately comprehensible, right?)
Driving today. Sadly the car emoji faces the wrong way, so I can't do that emoji thing people do where they write [x]🛪[y] but with a car.
@d_christiansen Mi restos ĉe la domo de amiko—sed mi pensas, ke mi estas la sola membro de la Galŭalaboristaro, kiu ne restas ĉe la hotelo.
@JonSterling I both fear and hope that the JonPRL logo will be my greatest contribution to the field of computer science research.
@andreasdotorg @d_christiansen This is that particular module: hackage.haskell.org/package/void
I just repaired a closet using plumbing hardware, and it's made me feel like I'm really handy. At least, uh. Temporarily.
A philosophical point-and-click where you play as Wittgenstein uncovering philosophical truths: The Tractatus Ludico-Philosophicus.
@acfoltzer It's also bog-butter, which means it's aged with peat. More things need peat. ( nordicfoodlab.org/blog/2013/10/b… )
Life goals.
I've been thinking about it recently, and I've decided that my favorite semi-obscure stanzaic form is probably the triolet.
Someone should make a Slack client and name it j-r-bob-dobbs.
Last night I also found my old notes on the duality of data and codata, which I still think are really pretty.
The page on the right is a poem; a larger version of that same poem hung on my wall during my undergrad years:
I love going through my old papers and finding old notes from my conlanging days.
I had my doubts about the accuracy of recommendation engines, but now YouTube keeps recommending me a video about Kanye West and Jodorowsky.
I have been annoyingly ambiently busy lately, but luckily there's a new Alessandro Cortini album I've had on repeat: youtube.com/watch?v=3NcIh_…
Consider: Greenberg's 'Some universals of grammar with particular reference to the order of meaningful elements' was published in 1963.
Ars Technica apparently believes that linguistic universals are a new discovery, not an established area of research twitter.com/ArsTechnicaUK/…
@PLT_cheater It doesn't; it's the other way around. deepseq just depends on array, base, and ghc-prim.
This is a perfect object-lesson in how typeclasses—and the restrictions they impose—can be a big problem for code ecosystems and modularity.
Here: all the non-base transitive dependencies of the void module, which defines an empty type and trivial functions.
…this is from a relatively basic paper about graph transformations.
I have an answer! You can't use ! recursively, as multiple categories are CamelCased, e.g. EvilFem!Sherlock.
I still don't know the precedence and fixity of the infix ! operator as used in fandom. Do I have to use parentheses in `evil!fem!Sherlock`?
I have serious complaints about the Esperanto-language interface for Minecraft, and that isn't even the most insufferable thing about me.
My last work laptop was named Lemuria, so I logically named my new one Mu. The next one will probably have to be Ys.
@acfoltzer A toytal functional language.
@theg5prank It was only one glass of bourbon! I was just really distracted.
A complete list of things I have consumed in the last 24 hours:
- coke zero with black walnut bitters
- bourbon
- cookies
Template Haskell is a pretty strong argument for Lisp.
@mountainherder @path1ckey @faineg A few cocktails—I really should try making more!—but they also went perfectly well just with fizzy water.
@EmpressCortana @rhiannonstone We had these in our old neighborhood, down around Division St. (I promise I had nothing to do with them.)
It starts out as drawers, and then gradually adds the functionality of all the rest of your furniture.
This isn't pointless—e.g. depending on binding site, { iⁿ | i<n } can be interpreted three ways: as 〈i:i<n:iⁿ〉 or 〈n:i<n:iⁿ〉 or 〈i,n:i<n:iⁿ〉
It's a strange notation for both set-building and any operator that introduces bindings. eg { i² | i<5 } ≡〈i:i<5:i²〉
My trivial knowledge was useful today! I was able to identify an almost-unused notational convention from Dijkstra that came up in a paper.
There is some cloud software thing called 'Juju' that refers to apps as 'charms'. Tech industry: I just want you to know—I hate you so much.
Finally have a Linux install with a ZFS root! And I owe it all to procrastinating on much more important things. Thanks, procrastination!
While it never really caught on, the spesmilo lives on—or so Vikipedio informs me—as the name of the fake currency in Esperanto Monopoly.
Saussure also proposed a standard unit of money—the spesmilo—which was adopted by Esperanto banks like the Ĉekbanko esperantista in London.
Esperanto II was the work of René de Saussure, who was the brother of Ferdinand de Saussure, the prominent early linguist and semiotician.
For a while, a lot of Esperantists tried to create and popularize their own Esperanto derivatives. One was just called, 'Esperanto II.'
I can't believe that nobody has yet written a theorem prover and called it Pudding.
A coworker pointed out that I was dressed like my profile picture today, so, for purposes of comparison:
If you ever need to do this, here is a resource that explains how, and may god have mercy on your soul: breaks.for.alienz.org/blog/2012/02/0…
But there IS a way of returning structs by-value in C into Haskell! It requires manually changing the calling convention, but it's possible!
In the course of this I have learned of a Deep Magic: typically, C FFI calls in Rust can refer to basic types and pointers, but not structs.
I've contributed some snippets to the Rust FFI Omnibus, which has simple examples of Rust interop for other languages jakegoulding.com/rust-ffi-omnib…
@aaronmblevin It makes me happy that there is actual fanart of them: dailycryptodrawings.tumblr.com/post/113391456…
@kfoner I can't believe there's nothing about non-Euclidean Rubik's cubes on Google. Now I'll have to figure out what that'd be like myself.
@rhiannonstone @basmatiheather @jong I can't help it; I keep imagining
…also, I am a huge sucker for Francophone science fiction in visual media. So, y'know, there's that, too.
I finished the game Remember Me. It had lots problems—but I loved the visual & fashion design: conceptartworld.com/?p=24571
@mwotton @aaronmblevin @shelfuu I was actually gonna do a PR of the text myself. I just wanted to joke about it on Twitter first. :)
Feature: because functions never evaluate arguments, your programs will never run, freeing you to go outside and pet dogs and eat ice cream.
I guess I should mention that this isn't some poorly-worded Haskell tutorial—it's the exact text from the haskell.org site.
Apparently Haskell functions don't evaluate their arguments. Now that's purity! (thx @shelfuu for pointing this out.)
@aaronmblevin Vape For Life has apparently decided to bow to criticism and fix the backwards V, formerly the cornerstone of their logo/brand
I am gonna be real disappointed when I start work on a different project and don't have long compile times any more. twitter.com/acfoltzer/stat…
Delany's Tales of Nevèrÿon opens with a quote from Gayatri Chakravorty Spivak's translator's notes for Derrida's 'De la grammatologie' ❤❤❤❤❤
Oh, man, I almost forgot to link to one of my favorite old @nedroid comics today: nedroid.com/imagesb/solsti…
@shelfuu This vaguely reminds me of usenix.org/system/files/c… (which has a shell-language kind of focus)
See, this is what happens when you haven't read SICP. (found via @ntcomplete) medium.com/relevant-stori…
@vrika It's also by Cory Doctorow, and I haven't been a big fan of his writing, generally. (Admittedly, I mean his fiction, but still.)
[citation very much goddamn needed]
I'm not saying technology isn't part of the answer. I do think technology has great uses! But 'the internet IS the answer' is ridiculous.
This article is impressively terrible, but it is also a great object-lesson in unthinking techno-utopian ideology: theguardian.com/technology/201…
@shelfuu Just set up an automated drip to start up around 6AM at a rate of roughly 2ml/minute. You'll be uncomfortably energetic in no time.
@shelfuu You should see if you can get emergency bottles of BBotE delivered straight to Eugene. That'll do it probably.
@d_christiansen @JonSterling It's here gdritter.com/imgs/jonprl.svg and also I'd be happy to make changes. (I did draw that in like five minutes…)
@d_christiansen @JonSterling @carloangiuli I'm imagining it like this.
@rhiannonstone @EmpressCortana @StonewallTJJ Jupiter seems like it might be a little bit on the large side. Better warm up with Pluto first.
@jtdaugherty @BenjaminFJones …judging by some of the Haskell blog posts I've seen, I'm pretty sure it's too late for that.
@BenjaminFJones In the tradition of Obfuscated Code Contests, someone should hold an Unnecessarily Category-Theoretic Haskell Code Contest.
You mean, kind of like this? redlinernotes.com/docs/categorie… @jtdaugherty @morabbin
Part of me sort of likes this wacky old approach to typesetting C code. (Source: Baecker & Marcus, 1983.)
New plan: a Twitter bot that tweets random nouns prefixed by, "A Category-Theoretic Approach To "
@podmostom @ffee_machine (If you make it yourself, you can use other colors, so you can really Pinterest it up: img2-1.timeinc.net/toh/i/g/10/pai… )
@podmostom @ffee_machine I've found it in nearby hardware stores; you can also make it yourself pretty easily: instructables.com/id/DIY-Chalk-B…
@podmostom @ffee_machine Err, chalkboard paint. It comes in both spray and brush-on forms. For example: amazon.com/Rust-Oleum-206…
@podmostom @ffee_machine I don't, but it's pretty straightforward—the easiest way is, "Find good board, find chalk paint, combine."
When I was in high school I mounted whiteboards on my wall—but I have since discovered the beauty of chalk, & now build my own chalkboards.
Source for this statement: gizmodo.com/why-mathematic…
"A younger generation of mathematicians, raised on markers and whiteboards, might never yearn for the chalk." This statement: TOTALLY FALSE.
@shelfuu …now I'm thinking about writing my own 'laptoptools' suite. This is probably a bad yak to have.
@shelfuu The good and bad of daemontools is that it's super-focused on the task of keeping daemons running, to the exclusion of all else.
@shelfuu Oh, no, it's not really good at that kind of job. There are supposed to be cron variants that are better at handling that.
@shelfuu Have you tried daemontools? It's by far my favorite job management thingy, and very, very portable.
@psygnisfive @shelfuu Oh, I'm aware—that was what made me think of it. (About damn time, too.)
@psygnisfive …I'm making a terrible joke that I think is being ruined by Twitter not displaying the full image inline.
After close examination, I've realized that Comonad is not exactly dual to Monad in Haskell. I have a plan to fix it:
@mjsottile If you need it—here's an old page of how to say, "I can eat glass; it doesn't hurt me," in many languages: reocities.com/nodotus/hbglas…
…which I discovered via this wonderful post about the hexadic system, 'speculative music', and esoteric traditions: twitter.com/larkfall/statu…
I just learned about Ben Chasny's hexadic system, a new system for composing music by using a deck of playing cards: thewire.co.uk/news/34570/six…
You know, for someone who likes Haskell, I really hate Haskell.
@sw17ch @d6 So far: there are things I really like about it, but I wish it were less tightly coupled to curated package sets like Stackage.
@ffee_machine Just internally at Galois. It was mostly a high-level intro to basic Rust-related concepts.
Linux source fun facts: LIST_HEAD_INIT and INIT_LIST_HEAD are different. They're defined within 5 lines of each other. Only one is a macro.
I was listening to industrial music and my laptop was unplugged and running out of power. I mistook the warning beeps for part of the music.
I got a nice break from debugging some kernel code today. I got to debug some Makefiles instead. You take what you can get.
@theg5prank The slides aren't totally done, but they're in a repo here: github.com/aisamanra/rust… (They're mostly for accompanying talking.)
…why anyone allows me to continue giving presentations on any topic at all i will never understand
@jtdaugherty I wonder who the other guy you tagged in this was. Y'know, the one who wasn't @moltarx or @BJones.
@acfoltzer …it's, uh, comparatively true. (I do wish that otherwise reasonable technologies wouldn't make excessively grandiose claims.)
@acfoltzer Alternately: web.archive.org/web/2011071807…
@acfoltzer You could always recover a sexpr-like structure by using nested netstrings, and recover XML structure by principled sexpr use.
@acfoltzer Their rationale is that it's faster/easier to parse. Really, more people need to know about netstrings: en.wikipedia.org/wiki/Netstring
Ever wonder what you'd get if early 21st century Enterprise JVM-based nonsense merged with interactive theorem provers? Wonder no more!
It's an XML-based protocol except it uses a custom encoding of XML that replaces angle brackets with non-printable ASCII characters. Really.
Apparently, Isabelle no longer supports emacs/proof-general: they have a new protocol for prover interaction, and it only works with jEdit.
Walter Benjamin's notes are ALSO pretty—but differently so. He did a color-coded-topic thing I don't quite understand
Incidentally—it's total nonsense, science-wise, but Walter Russell's work was pretty beautiful butdoesitfloat.com/filter/walter-…
I briefly mentally swapped Franfurt-School-er Walter Benjamin with new-age "scientist" Walter Russell. That made for a confusing few moments
I am indirectly responsible for a GHC bug report that includes a hieroglyphic character, thanks to @acfoltzer ghc.haskell.org/trac/ghc/ticke…
I did not previously know about these special number words for sheep- and stitch-counting from Northern England: en.wikipedia.org/wiki/Yan_tan_t…
@joshbohde A while back, I was wondering what kind of gameplay a deliberately non-capitalist Harvest Moon would have. Still not 100% sure.
@acfoltzer @BenjaminFJones There's probably a way of preëmptively capturing std{out,err} in all your buffers, just in case you need it. Hmm…
Today I changed it so that every terminal I open is already running tmux. This was a wonderful idea. I can't believe I didn't do it before.
And it's also not useful even as metaphor: drows are more like fairies—music-loving underground-dwellers—whereas draugr are reanimated dead.
It's etymologically unsound: 'drow' is a Shetlandic variation on the word 'troll', whereas 'draugr' goes back to *draugmas 'phantasm'.
This translation of Hrómundar saga Gripssonar translates 'draugr' as 'drow', which is really, really weird.
@3liza (I also don't know how much 'argr' was historically applied to non-masculine nouns—I haven't found any instance yet—but still.)
@3liza The definite—'the argr [one]'—would be masc. 'inn argi', fem. 'in arga', neut. 'it arga'. All these are also in subject form.
@3liza The inflection depends on definiteness, gender, and case: 'an argr [one]' would be masc. 'argr', fem. 'arg', neut. 'argt'.
(Today, it was mushrooms stuffed with prosciutto and Parmesan cheese and chili-lime-cilantro shrimp.)
Nothing gives me more pleasure than making a dish for a party that is entirely eaten up by the time I leave.
It usually happens with weird dream-like books. It's happened before with Dunsany and MacDonald. Last night, it was an R. A. Lafferty novel.
I finished a book last night and then dreamed up extra parts of the book. That used to happen to me a lot, but this is the only time lately.
I've now contributed my first package to a Linux distro, which I think means I've unlocked another Geek Achivement.
…I have semi-seriously considered buying a large-format printer and making my own street maps, to be prepared for our paper-map-less future.
It's not surprising that paper street maps are mostly a curiosity now, but it makes me a little bit sad. I have always loved paper maps.
I tried to buy a street map yesterday, and had to go to multiple gas stations before I found a street map of the county I was in.
@egraind @3liza The word for 'mother' in Basque—also a linguistic isolate—is also 'ama'.
I am pretty excited for Rust—but someone needs to come up with a better way of navigating the stdlib docs, because that design is atrocious.
Preliminary efforts towards a randomly-built-Esperanto-word Twitter bot are looking promising. (Needs work, though!)
It disappoints me that there are no Google search results for "total fnordering".
@acfoltzer @EvilKitty You can get close with ViewPatterns, albeit a bit more verbosely. Something like `go (Mul (go->l) (go->r)) = l * r`
@ffee_machine The font I'm using—which has lots of constructed scripts, not just Tolkien's—is this one: kreativekorp.com/software/fonts…
@ffee_machine …but because it's technically part of the Private Use areas, all characters in them get rejected as invalid by GHC.
@ffee_machine Tengwar isn't actually in Unicode proper. There's an unofficial registry for constructed scripts and fonts that conform to it…
@dysinger @ffee_machine …now that I think about it, I really should have named the proof corresponding to Russell's Paradox as 💣.
@dysinger @ffee_machine The last Agda I wrote involved enabling Type : Type and proving Russell's Paradox—that was fun! …in a different way.
@EvilKitty I'd much rather have both than either individually! And I do think Haskell has a kind of sweet spot in expressing both concisely.
(Not that it hurts to have the types! I think they're just less of a deciding factor, to me, at least.) @EvilKitty
I actually think convenient pattern-matching helps more than types—e.g., I think this is as "readable". @EvilKitty
It is, all things considered, probably a good thing that this is not valid Haskell.
(Yes, systemd is gone from all my personal computers, but I wanted to use a 'more standard' Linux on my work computer. This was a mistake.)
Oh, and look, systemd is doing terrible things now too. Today is apparently just one of those days where I am Mad At Computers.
Every time I scroll up and see a header reappear, I get a little bit angrier at modern design trends.
"Sorry, I'm not into gymnosperm-core"
"Never use a metaphor you are used to seeing in print. When I see common metaphors I get madder than a green moon-dog."
—G. Orwell, probably
"Never use the passive…" [???]
There's a talk that applies Orwell's Politics and the English Language to coding conventions. It's just as terrible as you might imagine.
Today's listening, in light of my having finished reading Mona Lisa Overdrive this morning: youtube.com/watch?v=U8-rNM…
@jtdaugherty @SyntaxPolice It sadly does not display them as s-expressions, even though it totally should.
@SyntaxPolice @jtdaugherty If you're looking for one that doesn't display gif avatars, mine doesn't! …because I use emacs twittering-mode.
@jtdaugherty @SyntaxPolice It's not possible any more, but people who had .gif avatars before they disabled it can got grandfathered in.
People write "This Is Not An Instruction Manual" in copies of 1984 to send to politicans. I should do the same with Snow Crash and startups.
@vrika I've actually experienced it firsthand! There's a Japanese restaurant near my house with a toilet that I had no idea how to use.
In that context, then, I have to concede that Silicon Valley is a great source of visionary ideas.
I think "visionary" is my new favorite euphemism for "ill-conceived, unnecessary, and terrible."
I never finished reading the Sprawl trilogy—so now I'm finally reading Count Zero. Makes me want to get 'ICE Engineer' on my business cards.
@sw17ch I've seen "unrolled linked list" before.
(…it's not 100% relevant, as it's more about Forth specifically and less about concatenative language in general, but still.) @shelfuu
I guess I should also link to yosefk.com/blog/my-histor… which is the standard Counterpoint To Enthusiam About Concatenative Languages @shelfuu
Relatedly: The Theory of Concatenative Combinators tunes.org/~iepos/joy.html @shelfuu
I mean—nobody should actually use this, for all kinds of reasons. But I wanted it, and the existing alternatives were XML and MediaWiki, so…
I have sometimes wanted a simple but extensible markup language for rich text—so I've started making my own: github.com/aisamanra/telm…
I cannot fathom how one can possibly believe that alternate programming languages just existing is itself a problem. It's myopic and boring.
It's really depressing—someone will invent a cool new tool or new language, and commenters will pile on: "I think this xkcd is relevant!"
I have recently seen several people use the xkcd comic about standards proliferation to mean, effectively, "Nobody should make new things."
In order to keep track of my many perpetually unfinished projects, I have now made a physical yak stack.
@jong (I don't know; they sound a lot more sensible than some of the software names I've seen elsewhere.)
I'm writing a small X display manager, so now I'm wondering if I can come up with a terrible enough acronym to name it KMFDM.
I just kind of wish Saga would get an Esperanto-speaking proofreader. "I know hours are not soft."
@sw17ch Not much, what's up with you?
What goes through my head when someone uses the word 'unityped':
LRT: I also believe that dynamic typing is a better choice for long-running systems, for reason I'll have to explain at some point.
Last night I shaved two yaks I've had for a year, and then started writing/sketching a short comic I'm calling 'La sorĉisto ĉe la strateto'.
"It's not what you think! My linguistic aesthetic preferences JUST HAPPEN to reflect local racist attitudes & historical political divides!"
You notice how if you ask which languages are 'bad-sounding', they'll often name German, Russian, Chinese, Arabic… hmm… interesting pattern…
#shithnsays "French and Italian […] are considered romance languages, because among other things they sound pretty." news.ycombinator.com/item?id=9495283
@chrisamaphone This earlier Rosenberg paper might help clarify his idiosyncratic jargon, at the very least: well.com/user/jer/SHA_o…
@ntcomplete Uber for waterways. You can call it Canoe-ber.
(Also, it's the closest I suspect we'll ever come to a Buckminster Fuller-inspired science fiction horror movie.)
Music—perfect. Cinematography—perfect. Plot—almost absolute nonsense. Also, it's a terrifying movie. I'm surprised I didn't have nightmares.
Incidentally, I finally got around to watching Beyond The Black Rainbow last night. A deeply imperfect movie, but one I really enjoyed.
me irl
@d_christiansen …ĉi tiu vortarto estas tre malnova, kaj me suspektas, ke ĝi enhavas multajn malmodernajn aŭ eĉ malĝustajn vortojn…
@d_christiansen Presmaŝinoj aǔ la uzo de presmaŝinoj. (Ĝi estas la traduko por "letterpress" en la esperanta vortarto kion mi aĉetis.)
@d_christiansen (Tio ĉi estas malmoderna kritiko de Esperanto, kiam oni devas ĉizi kaj muldi novajn literojn pro presaĵoitaĵo.)
@d_christiansen Mi pensas, ke esperanto estas la sola lingvo, kio uzas la cirkumflekson super konsonantoj. Rumana uzas ĝin super vokaloj.
@d_christiansen …mi volas diri—ĉi tion tviton. (Mi ŝajne ne estas parolinte esperanton sufiĉe.)
@d_christiansen Mi ŝatas, ke la tvitterprogrameto estas ofertanta traduki ĉi tion tvito… de rumana.
@psygnisfive There actually is a Tengwar pixel font, but I'm not super-happy with how it renders, either. (This one kreativekorp.com/software/fonts… )
"I'm not that much of a nerd," and other lies I tell myself.
My newest xmonad/xmobar changes might be a step too far, even by my incredibly dorky standards.
@vrika I'm basing it off a cocktail from Kask here in Portland (around SW 12th and Alder) where it's called the Alexander Wept.
@vrika I used 1oz Bulleit rye, ⅔oz Kilchoman, ½oz Cherry Heering, and ¼oz Amaro Lucano, with a few drops of the bitters.
(Otherwise in my version it contains: rye, scotch, Cherry Heering, Amaro, and redwood mesquite bitters. And it's a pleasing burgundy color.)
I have nearly perfectly reproduced one of my favorite cocktails. All it's missing is cherry bark smoke, as I don't have any cherry bark atm.
I am working from home today to get some writing done—which means I'm on a hammock on the front porch with an iced coffee and my laptop.
I'm very interested in dependent types, but I'm not at all sold on the idea that we should add them to Haskell.
@chrisamaphone @JonSterling @psygnisfive I did this once so I could hand-write Mayan. Lots of fun—but I had to rewrite every slide ≥3 times.
At the request of a coworker, I wrote a blog post detailing the creation of my comic book slipcover: