The Changelog: Software Development, Open Source - Solarized and Linux on the Desktop (Interview)

Episode Date: March 30, 2012

Wynn sat down with Ethan Schoonover, creator of Solarized to talk about the science and design behind the wildly popular color scheme as well as his love for Arch Linux....

Transcript
Discussion (0)
Starting point is 00:00:00 The Change Log is brought to you by Pusher, and they're looking for a system engineer with experience building scalable messaging systems. If that's you, send your GitHub profile, your cover letter, and your CV to jobs at pusher.com. And also, use the coupon code THECHANGELOG for 15% off your first month on any plan. Join the real-time web today at pusher.com. Welcome to the Changelog episode 0.7.7. I'm Adam Stachowiak. And I'm Winn Netherland. This is the ChangeLog. We cover what's fresh and new in open source. If you found us on iTunes, we're also on the web at thechangelog.com.
Starting point is 00:00:50 We're also up on GitHub. Head to github.com slash explore. You'll find some training repos, some feature repos from our blog, as well as this audio podcast. And if you're on Twitter, follow the ChangeLog. And I am Adam Stach. And I am Penguin, P-E-N-G-W-I-N-N. Fun episode this week. Talked to Ethan Schoonover from Solarized.
Starting point is 00:01:06 Unless you think we talk a full hour about a, I guess, a theme for a text editor. We talked about so much more. Did talk about Solarized quite a bit in the theory behind the color selection and a lot of the underlying science behind the design. But also talked about Linux tools in general and Arch Linux. He's a bit of an audiophile, so we talk about the full gamut of his geekery. Took a little preview of that audio. His audio sounds pretty good. He sounds better than I do, but I don't want it to sound too good because, you know, the
Starting point is 00:01:37 bootleg sound quality gives us some street cred, you know? Sure does. Yeah, it does. That's what I hear. Fun episode. Should we get to it? Let's do it. Chatting today with Ethan Schoonover from Solarized.
Starting point is 00:02:00 So, Ethan, why don't you introduce yourself for our listeners? Sure. Well, I'm a freelance designer. I'm based here in Seattle. And I moved back to the States about four or five years ago to work with a Mac software firm, Omni. I don't work with them anymore. I'm purely freelance. And over the past couple of years, I've been getting more involved in Linux and the open source community. And I guess part of that is, um, is my developing, uh, uh, I guess what you could call a universal color scheme, uh, called Solarized. So I'm happy to go into some more detail there. Do you want to? Yeah, let's just shoot me some more questions. So 2200 watchers on GitHub for what is essentially a color scheme. So, and, and a bead of sweat rolls down your forehead.
Starting point is 00:02:41 Give us some background on, on why you started this project. Sure. Well, this was, I guess, late 2010. I started to get pretty heavily into Linux on the desktop. And so I started to build a couple Linux boxes. I've always been using Debian, Ubuntu for servers, but I'd never really been a very heavy Linux on the desktop user. And so I, I don't know, I had a couple of old ThinkPads laying around and I started to, you know, play around with Arch, Fedora, Ubuntu, and whatever the current releases were. And at the same time, I started to retrain myself in a number I, you know, I was still using the Mac pretty heavily, but I just, you know, I felt using the mac pretty heavily but i just you know i felt
Starting point is 00:03:26 this urge as i think a lot of people do and perhaps still do uh right now to move away from proprietary systems to more open systems so i started to use vim pretty heavily and i just couldn't find a color scheme that i liked so you know you you know i noticed also in the terminal i couldn't find a color scheme that I was very happy with. I started to use ZShell a lot. So I looked around and I saw there were some very pretty color schemes, certainly. I was using Harold. I was using Zenburn for a while. I didn't really like the colors of Zenburn, but I felt like I liked the strategy they had of being a low-contrast color scheme.
Starting point is 00:04:05 So I thought, well, hey, this is going to be easy. I'll just edit the color scheme that they have for Vim. And I opened up the Vim script file. And I think if you've ever opened up a Vim script file your first time and you have this kind of shock of seeing something very alien-looking, which Vim script is, I realized it wasn't going to be an easy undertaking and I also realized that the way they had designed the color scheme wasn't how I would have gone about it necessarily, it's that implementation and I'm not faulting
Starting point is 00:04:34 Zenburn, it's a very nice implementation so I decided I would give it a go on my own and then that was sort of the jumping off point it's one of those projects where you only do when you don't know what you're getting into. Right. And I'd kind of like to talk a little bit about some of the strategy behind it and the way it's structured.
Starting point is 00:04:58 Do you have any other questions specifically about how I got myself into this mess? I guess, did you start with Vim or did you start with the Terminal? Why? That's a good question. It was pretty, it was pretty simultaneous. Um, you know, I would say I probably started, I probably started with Vim. Um, at least that's foremost in my mind because I was always really focused on doing the Vim color scheme. But, you know, for me, I was really using Vim primarily in the terminal. You know, in Arch, I was using URXVT or RXVT-unicode, however you want to say that. And so, you know, using Vim in the terminal, you really have to be very cognizant of terminal color issues, which are really legion. It's really terrible implementing color properly in terminal emulators. So, so it comes in two flavors,
Starting point is 00:05:51 I guess, light and dark. Yeah. So let me talk a little bit about the way it's structured. Um, and, uh, for folks listening along on the podcast that are in front of a computer, if, uh, if you're not familiar with solarized or if you want to sort of a refresher, I'm also going to maybe mention a specific image that's on the Solarized homepage. You can just search for Solarized. It should be in the top, the top hits in Google. Um, but it's, uh, it's also ethanscoonover.com slash Solarized is the official homepage. And you can see, uh, on that homepage, I've got a, you know, there's an image right at the very top of that page, which is sort of a yin yang symbol showing both a dark background and a light background. And then below that, the actual palette itself, and that'll be those will
Starting point is 00:06:36 be useful visual aids, as I described this, but the basic idea is that, you know, the terminal emulators, Vim doesn't have this restriction but terminal emulators are quite restricted in the number of colors they can display for the most part some only display 8 some display 16 uh you know some you can display 256 vim you have a lot more flexibility depending on whether or not you're in gui mode or terminal mode but um regardless i wanted to support kind of the lowest common denominator so i designed solarize to fit within the 16 standard color slots you'd find in a terminal and i also want i realized early on that i wanted something that could work in both a light and dark
Starting point is 00:07:16 mode and so i started to map out light color schemes and dark color schemes so in other words color schemes with a light and dark background and keeping in mind that I wanted to work with contrast. And I realized there was a possibility to kind of fit them together into a single color scheme that was symmetrical. So if you turned it upside down, so to speak, what had previously been the brightest color of text would in turn become the bright background and the darkest, the dark background would become dark text. That's a very simplistic description. There's more detail on the page itself, but that's sort of the symmetric quality to this color scheme. And it's actually a little bit more
Starting point is 00:07:53 complicated than that. In fact, it turned out to be a lot more complicated. It took me all in about six months to design the color scheme and test it and iterate it. Now, do you have a background in color theory or was this learning for you? Um, well, you know, I, I have a weird background. Um, right before I moved back to the States, I was working as a photographer full time. And I also have a background in web development prior to that. So in advertising, but when I was working as a photographer, I started to research and, you know, I have my parents are both artists. I do have a I guess a background just through osmosis in the arts. And I always worked with color and with design and of course, in web design.
Starting point is 00:08:36 But when you start to do photography very seriously, you have to be very aware of color management. And I also became familiar with the CIE L star A star B, or it's often called just lab space, the lab color space. And that's a very useful color model or color space for editing photographs, among other things. That's not its original purpose by any means. It's a really fascinating subject in its own right. But that background, that familiarity I had with lab and with color management really did inform the way that I developed Solarized. So for those that don't know, RGB is, of course, red, green, blue, HS, BSU, saturation, and brightness. What is lab? So, well, let me backtrack for just a moment. Um,
Starting point is 00:09:26 it's really important when we're talking about these things to kind of understand, um, just even what color is and, you know, color is not an external phenomenon and it's, we often talk about it as though it is. And we, we think about, you know, we think about RGB, um, you know, if you're going to throw up a, you know, hex value on a webpage and you want red, you do FF zero, zero, zero, zero. page and you want red, you do FF0000. And you think, well, I'm making the monitor display red. But that's not what is happening at all. Really, color is a lot more like poetry or music or cinema even in the sense that when you watch a sad movie, you have a sense of sadness inside of you. Um, but that sadness is not an external phenomenon, right? That's a, it's an induced phenomenon inside of
Starting point is 00:10:10 your brain. And the sadness is sort of latent inside of the storyline. And just like that color is latent inside of wavelengths that are, that we're perceiving that are hitting the back of our retina, our fovea. And when those, you know, when, when those different wavelengths of light hit our, our retina, when they hit our fovea and they stimulate the, the rod cells in our retina, then, uh, and I'm, you know, I apologize by the way, if anybody is an expert in color and they're, and I'm butchering this, I hope I'm not. Um, but when they, when they stimulate, you know, the back of our, our eye, and then that goes into our brain, you know, that's when we're perceiving color. And because of that, because it's an induced phenomenon and not a purely external phenomenon,
Starting point is 00:10:52 there's actually a lot of, I don't want to use the term psychology, but there's, there's a lot of variance in how we perceive color, um, in, in terms of the actual external stimulus. So, um, back in the, and I'll, I'll describe more about what I mean by that. Um, back in the twenties or thirties, I think it's the, uh, probably throughout the twenties, there was a lot of, uh, color research that was being done in Europe. And there was a researcher named right. Um, I hope I'm getting this right. Uh, his name was right. And I probably forget his first name. And there was another fellow too. Uh, they were both based in London and they were both doing similar experiments independent of each other. And basically what they wanted to do is
Starting point is 00:11:37 they wanted to figure out, um, basically what I described that how we, how we perceive color in our brain and how, and how we can mix together different tri-stimulus values, red, green, and blue, in order to recreate perceived color values. So what happened is that this fellow Wright, he was a color researcher, and he, you know, it was kind of an ambitious effort, right? I think today, if you wanted to do something like this, there would probably be like an fMRI involved. But, you know, 1920s, they still have like horse-drawn carriages rolling around London, right?
Starting point is 00:12:12 So it's pretty primitive. So what he does is in order to figure out what's going on in your brain when you see these different RGB values, essentially, is he set up a screen with a couple holes in the screen and he set these test subjects in front of the screen and he made them look through these tiny holes and the holes were about a two degree holes are about the same size as the, the, uh, field of view of your fovea, which is the little highly sensitive spot on your eye. And so he had these people looking through the screen at, uh, two different spots of color. And so you had these people looking through the screen at two different spots of color. And one was being generated by kind of a pure light, like a pure yellow light.
Starting point is 00:12:51 And the other was a mix of red, green, and blue lights. And then the subject would, you know, fiddle some dials and adjust those red, green, and blue lights until the color spot, the mixed color matched the pure color. And then they would measure the pure color, the mixed color, matched the pure color. And then they would measure the pure color, the wavelength of the pure color, and they would figure out, based on that wavelength, what values of red, green, and blue light they had to mix to achieve a matching color. And so that was the start of the CIE color spaces. That was, I think, CIE XYZ. And so CIE is the International Color Consortium of, well, no, that's not right. International Color, I forget. It's a French word and I'm going to butcher that. So color body got together and they revised it into a
Starting point is 00:13:46 couple other color spaces. And they did specifically in the 1970s, I think 76, they produced CIELAB. And so CIELAB is the refinement of that research in the 1920s and all that data. And it's essentially a color space that maps all these color values to a tri-stimulus value it's not rgb it's luminance and then two other essentially chroma um chroma values and luminance of course being essentially brightness and that's the l. And they're mapped in such a way that a numeric distance, so say from zero to 10 in terms of luminance, anytime there's a value of a difference of 10, for instance, anywhere along that value, the L value, it's going to be equivalent to the perceptual difference for a human being. And so if i take a value of zero and
Starting point is 00:14:46 i take a value of 10 the perceptual difference will be the same as a value from 90 to a value of 100 that is not true for many other color spaces so like hsb it's not true right hsb you also have a like aluminum value you have the brightness value and you, if you take a value of zero and HSB, uh, the B is zero and a B 10 and a B 90 and a B 100, the, the difference, the perceptual difference between 90 and a hundred is not the same as the perceptual difference between, uh, zero and 10. Does that make sense? Absolutely. Yes. First time I've heard it explained that thoroughly. Yeah. Sorry. I hope that wasn't too thorough. I get, I get, I get, I mean, you, yeah, you can get a bit deep into the weeds on this. So, you know, you just stop me if I do.
Starting point is 00:15:34 So you have a table chart, a table color chart about halfway down the Solarize homepage that basically has, for the lack of a better term, a semantic name and then hex values and terminal color names, and then also lab RGB and HSB for each of these, which of these do you deal with when you're working with, with Solarize? What's the, I guess the, the, uh, the source value that you Yeah, the source, the source is LAB, the lab value for sure. Um, that's sort of the master value, even though it's kind of in the middle of that table. So I guess that's, um, perhaps it's not obvious, but that's sort of the canonical value is LAB. Um, the hex values, which are essentially the same as the RGB values. Um, those are simply in a single instantiation. So those are a translation from LAB space to SRGB space. Um,
Starting point is 00:16:20 and SRGB is sort of a standardized device independent, uh, RGB space. So did you have any sort of build process that I guess translates between these? Um, you know, yeah, I do have a bunch of scripts, um, that I was using some of which are pretty crufty and not, not very well written. Um, I'd like to clean those up. I, I D to be honest, um, one of the, one of the goals initially was to create some scripts that would be able to push out not only these values, but also the actual themes for different applications. So for instance, I do have scripts that generate things like the MUT color schemes, although those are notoriously
Starting point is 00:17:02 hard to actually get running properly. And I have I have scripts that of course will, you know, spit out things like the Vim color scheme. So I can, I can update the colors and then push out things like Vim, mutt, et cetera. A lot of other terminals, um, especially when they're, you know, just text-based preference files, like, or, or like X resources files, I can push those out programmatically. Um, some, some applications, um, the preference files or the theme files are a little bit harder to parse, or, you know, they don't have the, the formats are not public or, you know, for whatever reason, I just found them difficult to do. And so I, you know, I, I think it's still possible to do something like that. I would like to, to have some sort of a master build system that would build out just a huge variety of these themes and i i think that there
Starting point is 00:17:49 is actually in a way one of the benefits of of solarized and all the ports that have been submitted or which are floating around out there and which i need to pull in because there are a huge number of outstanding pull requests um but one of the benefits is that all that work has been done in a way. So people have figured out, you know, like here's these 16 colors, here's how they map to all these different themes. And it should be, it should be doable to create a script like that. I mean, it's, it's not a small amount of work, but it's doable. If you were built a matrix, I guess, of all the permutations that you have a unified color scheme here, but the amount of variables
Starting point is 00:18:22 in this is just incredible. So one of those is, we talked briefly about the number of tools that it has to cascade across, right? From MUT to VIM to the terminal, all of those different tools. We have platform that's a part of that. But two of the big variables are font selection within that, and also syntax for different languages and what, you know, the, that syntax vocabulary looks like when you colorize. Oh yeah. Yeah. That's a huge issue. Huge. You know, it's in a way that's a lot like, you know, typographers will talk about color on the page of a specific typeface and they're not actually talking about color the way that you and I have been here today. They're talking about sort of the, you know, the, the color
Starting point is 00:19:08 they're talking about a purely black and white, you know, say you're printing, printing black text on a white page. Um, type is still said to have color based on, you know, the thickness of the strokes and the way that they all, it coalesces together as a mass, as a body of text on the page. And you can say there's sort of an equivalent concept when you have, say, you're looking at a page in Vim, you're looking at a section of Ruby code, or you're looking at a section of Haskell code. I was very, very concerned that different, especially, you know, I had control of over the Vim theme and I was really concerned that there was a similar, of course, there's some uniqueness, but a similar look to the code in each case. So, you know, I didn't want the Ruby code to, for some reason, look, you know, ugly where the Haskell code looked beautiful or vice versa.
Starting point is 00:20:01 And that was really non, that was really non-trivial. Um, just getting things like, oh, in Ruby, you know, I spent a lot of time on Ruby, even though I don't code a lot of Ruby. Um, I don't know why, cause I find Ruby very beautiful to look at syntactically. So, um, maybe that's a, you know, maybe I should try to pick it up a little bit more because of that, but I also find Haskell very beautiful. So i spent a lot of time looking at those two in particular they were sort of my initial test cases and then html and such um but yeah it was really hard to do that and it's still there's still a lot of room for improvement um and it's probably the biggest problem in terms of ports is kind of communicating to people how important it is to have like a good mix of colors to not have any single color be too
Starting point is 00:20:43 dominant um to understand you know when is be too dominant, um, to understand, you know, when is it too many colors in one section? Like you don't want to have it look like a, you know, a salad, a fruit salad. I noticed also you include a snippet of SAS for the color palette. Are you a SAS user? Oh, absolutely. Yeah, totally. No, I love SAS. In fact, you're, you're SAS, aren't you? I am. I am writing a book on SAS with Chris Epstein and Nathan Weisenbaum for Manning, and we're excited about SAS and Compass and the adoption. I was curious, though, dealing with lab, what sort of shortcomings have you found with SAS? You mean with the lab color space?
Starting point is 00:21:18 Exactly. Well, I'm not too – actually, I wouldn't call it a shortcoming with SaaS per se. I don't – is there some specific or special support for Lab? Not that I'm aware of. I'm wondering if it's just because there's not a foundation of support at the OS level or something. Yeah, that's really – well, you know, the crazy thing – here's the crazy thing is that a lot of operating systems will actually implement color using lab. So like OS X, anytime that you're specifying color values, it's all being translated back to lab.
Starting point is 00:21:56 So that's sort of the background space. That's the man behind the curtain. I would challenge anybody to go out to the Solarized homepage and just with the broad base of support that you've got across operating systems and across tools here to try to guess what your main tool chain would be. So why don't you just tell us where you camp out? You can't possibly be an expert in all of these.
Starting point is 00:22:22 Which you mean expert in all of these. Um, which, which you mean expert in all of your operating system, your, your, uh, editor tools. Yeah, no. Um, I'm probably, I'm probably an expert in absolutely none of them. I mean, I, the only thing I can claim to be a certified expert in, I think is Photoshop, which I actually did my certification in, um, crazily. I don't know why it was some kind of challenge. Um, you know, and even then I don't think that means a whole lot, you know, to say you're an expert in Photoshop, it changes so much, but no, I'm not an expert in any of these things, you know, in terms of tool chain, I really try to go as deep as possible into all of them though. And,
Starting point is 00:22:59 um, you know, particularly when I started to learn, when I started to go full-time into Linux, um, you know, I just went as deep as I could, which is one of the reasons I chose Arch, by the way. Well, maybe we'll have a chance to talk about that. But I really wanted to understand the system from the ground up. And I also try to do that with color. I try to understand as much about what's happening with color in the operating system as possible. But, you know, it is incredibly complex. Color is, it's, you know, right now, actually Fedora, there's a lot of work with color being done in Fedora. It's probably the most active distribution,
Starting point is 00:23:36 Linux distribution in terms of color management and trying to create new, new tools for color management and make it easy. But it's, it's just so complex and there's so many applications which don't support color properly. Like even among browsers right now, like Chrome, Safari on, on OS 10, they both support ICC version four and Firefox only supports ICC version two, if I remember correctly. Um, just small variations like that can really impact the way that, you know, you're preparing color, the way that you're preparing images, the way that you're embedding, um, ICC profiles. So, you know, I'm certainly not an expert. I try to be as aware as possible of all the different factors that are going into color, how the, how the operating system is doing color management, et cetera, but it's hard.
Starting point is 00:24:19 And, you know, this is just thinking about OS 10. It's hard when you throw Linux into the mix, when you throw, you know throw Xorg into the mix, which is really kind of nightmarish on multiple levels, color becomes very hard. So 16 colors, why not support 256? Well, constraints are good, first of all. In fact, if you look at some of the examples on the Solarize page, you'll see that there's a, I'm looking about a third of the way down the page, there's 16.5 palette modes example. So I actually use Solarize, the Solarize color scheme on the Solarize homepage. And a lot of other people, I found it all over the web.
Starting point is 00:25:02 A lot of people are using it on their blogs. And I give an example of using kind of like, say like three of the base colors along with a couple of the accent colors for creating a palette for your website. And you can see that in all those examples, I really only use one or at the most two accent colors. In fact, I designed it to my own site,
Starting point is 00:25:24 this ethanscoonover.com and that SAS sample. I, the example I use there really are the intent is to use just one accent color. Um, and that's because in design, you know, you don't want to go overboard. You want to really limit yourself. It's, it's about cutting back and pairing away. Um, 256 colors is hard. I don't think I would have seen the adoption, uh, of Solarized if I'd used two 56 colors. It's really hard to implement that. A lot of applications don't support it. Almost all applications you can squeeze five, eight or 16 colors into. So that's, that's really it. So the background on each side of the spectrum is neither white nor black. It's
Starting point is 00:26:02 this beige color or this kind of, yeah, no, we haven't talked about that at all. It's actually, um, aesthetically speaking, it's, um, it's kind of a, a sea green color or what I imagine the bottom of the ocean to look like. Um, though of course there would be no light there. And then the, the yellow is, um, the light color is actually the same as the yellow. So the light, that light cream color is almost the exact same color as the yellow, just a much higher luminance and lower saturation. I find it very easy in the eyes. I've always been a dark terminal developer. One of the things that I had to get used to was just the use of red.
Starting point is 00:26:41 And I'm used to saying red in my color schemes as Danger Will Robinson. So that took some adoption to get used to. But once I got over that hump, it's been a lot easier in the eyes. I think late in the day, my old man eyes aren't squinting as much as they were previously. Yeah, it's really important for me
Starting point is 00:27:01 to have both modes, light and the dark mode, specifically for that. My eyes are terrible. I, I have, you know, thick glasses. And I definitely will switch about, you know, there's, there's a certain point of the day in which I switch from the light to the dark mode. What's your favorite terminal font? Oh, I have two of them. Terminus.
Starting point is 00:27:22 I use Terminus a lot. I'm a big fan of them. Terminus. I use Terminus a lot. I'm a big fan of that. Although on the Mac, there's a Terminus port for the Mac, a couple of versions of it. And they're not quite as nice as Terminus on Linux or Unix. So, no, I really like Terminus. But I also have a favorite, which is LetterGothic. Of course, today we would say letter Gothic mono, because there are non mono spaced variants that are out there.
Starting point is 00:27:50 So letter Gothic is, um, I don't know if you're familiar with that letter. Gothic is actually a typeface that was designed for the IBM Selectric typewriter back in like the early sixties. And it's, it looks like a typewriter font. Um, and it's actually the font that I use throughout the solarized webpage. So even like at the top, uh, on that yin yang symbol, you'll see that's, that's a letter Gothic and letter Gothic inspired a lot of other, I think it inspired like Andale and there's a lot of, you know, there's a lot of DNA from letter Gothic mono and today's monotype or monospaced, uh, typefaces. I'm testing it out now in myfonts.com, putting it through my rigorous test here of the dash rocket. I have to put a hyphen with a greater than.
Starting point is 00:28:32 I guess it's used in Haskell as well. And if those don't line up on that. Yes. Oh, okay. Listen, hey, there's actually, so letter gothic mono is a beautiful typeface. But in terms of being a typeface for code, I do use it a whole lot. But I accept and embrace its idiosyncrasies as just part of its beauty. If you look at, say, the brackets, the curly brackets, they're quite squashed, and they're not very distinct, particularly at smaller type sizes. And the zero is non-slashed,
Starting point is 00:29:09 and there's no dot in it, so it looks very, very similar to the capital O. Those are really problems in terms of seeing more widespread adoption or popularity for letter gothic mono. So one of my side projects is something I've been wanting to do for a while, and I've actually started to do this slowly, slowly, slowly, is to begin a new trace of a letter gothic mono-like typeface. I think that if you do it from scratch, that it's basically okay. Actually, it was interesting. You had Micah Rich on recently, and he talked a lot about this, about, you know, the creation of fonts and open source fonts. And I would, you know, what I'm working on right now is basically an open source implementation of letter Gothic mono. That's I'm really slow at this and I'm not a, I'm a type lover. Um,
Starting point is 00:30:00 I'm a lover, not a fighter, a lover, not a designer. So'm a lover, not a designer. So I know that this is not my wheelhouse, but I can at a lot on Arch these days. And what's it been like to move over to Linux and see something that's a little bit more bare bones or engineering driven instead of design driven? And how have you found that transition? Yeah, well, you know, I've always had a real split personality in that regard. You know, I've always done both code and design, as I guess as a lot of web developers have. But you know, uh, it's been exhilarating. It's been super enjoyable. I love arch. I, you know, I love Linux. Um, and I have high hopes for Linux on the desktop going forward. Um, I have strong opinions about what's going on with like Ubuntu right now and, and adoption of Linux on the desktop, but it's, you know, it's like,
Starting point is 00:31:04 I've, I've heard it compared to building your own lightsaber, particularly with Arch. And that's, I think, a very apt description. You're just building everything. You learn it. You have to understand it. One of the great things about Arch is that it's simple enough that it's all text files and they're all in, you know, the slash.
Starting point is 00:31:22 It's all source distribution. Is that right? No, well, it's not like Gentoo, right? Like Gentoo, you know, you have to compile yourself arch, uh, there, there, there's a binary, they're binary repositories. So you, you know, it's not, it's not pure source. Um, there is also a user repository, which is primarily stuff that gets compiled from source. Um, and quite often that stuff stuff which is either a little bit fresher or just necessary to run a reasonable system. So it's been great. I've really enjoyed it. I'm not running GNOME on it. I like GNOME 3, actually. I may be one of the few people that do, although I have to say that I really only like GNOME 3 because of the new web-based installer for the extensions.
Starting point is 00:32:07 But I'm using primarily Xmonad. And Xmonad is a beautiful system. It's an elegant system. It's beautiful on the inside. And it's a tiling window manager, if you're not familiar with that. Like Awesome or some of the other tiling window managers out there. And that to me is – it's almost, it almost feels like the future. You know, I, I, I realized that tiling window managers are some of the first window managers that were available, like Xerox PARC. I think they were doing a lot of tiling stuff.
Starting point is 00:32:32 Back to the future with this. Yeah. And, you know, I, boy, I tell you that, you know, when I'm working on, on Arch and I'm using Xmonad and I'm using this tiling window manager, my, you know, your fingers just fly over the keyboard and you're switching around workspaces and you're bringing up browsers and you're bringing up terminals and you're bringing up MUT. And it's all super fast.
Starting point is 00:32:52 And then I switch over and I'm working on my Mac and I feel like I'm going at half speed. I really, really miss it. I feel like it's a professional interface to a computer. Now, I stumbled across Arch, I guess, about a year ago. I was getting into Tmux, and one of the best resources out there is in the Arch wiki around Tmux. Have you used Tmux, the terminal multiplexer? Yeah, you know, I have about 100 bookmarks to look at that involve Tmux.
Starting point is 00:33:23 I have notes about Tmux. I think I was looking at something about Tmux yesterday. Yeah. I, I mean, I've played around with it. Um, and I, I haven't really gotten into using it. I've been using like a, you know, I use iTerm in multiplex mode on the Mac, but definitely. And I, so, I mean, Tmux, if I, you know, understanding it correctly is, um, multiplexing your terminal, right? That's right. Within a single terminal. And so, you know, for me, it's, I would, I want to say it's a non-issue, but in, when I use, um, you know, X monad, that's essentially what I'm doing is I'm multiplexing, but not just the terminal. Of course, I'm multiplexing the entire windowed environment. It's great if you pair program, because then if someone
Starting point is 00:34:02 tunnels in your machine. Oh, right. Yeah. No, that's, I don't really see. I'm such a hole up here in my little cave. I'd love to pair program. I'm probably not anywhere good enough to do that with anybody without driving them crazy. So I was surprised to see support for iTerm alongside of Terminal app. Do you have a preference on the Mac? No, I use both. I still use both. I use like on the mac no i i use both um i still
Starting point is 00:34:26 use both um i use like on the mac i use total terminal um and i use uh i use i term as well so i you know it's hard to say i don't really i don't have a preference i like to keep things as simple as possible uh on the mac unfortunately in order to get the mac into kind of a usable state approximating my workflow on linux you know, I ended up having to install a fair amount of stuff. Um, but I'm okay with home brew for that, or you wrote your own scripts. Oh yeah. Brew.
Starting point is 00:34:55 No, definitely brew, brew, brew, brew all the way brew. Um, oh my God, brews, brews the best thing ever. Um, I mean, I, you know, I know, you know, Mac ports has been out there and is you know that's the a great gray beard system for the for the mac and i used to use mac ports all the time um but i really feel like brew is also the future for you know it's sort of the it's the missing repository isn't it absolutely it seems like the the one missing piece for OS 10 that Apple's left out. And thankfully the community is, yeah. And you know, I, I realized like they have come out recently, um, with, uh, you, you know, you, you can probably specify this in a way that I can't,
Starting point is 00:35:38 but, uh, with the support for, um, installing the command line tools that you used to have to install Xcode for now you can download those separately, which is great. And I felt like that was a real nod to the brew, uh, effort, um, sort of a kind of a tacit endorsement and, you know, keep going guys, but it would be great to see more support from Apple in this regard. You know, I mean, this is, if you look at brew and then you look at, I'm, I just learned about taps the other day, brew taps. I have not seen that. Yeah. So brew taps, boy, and hey, brew people, if I'm butchering this, also my apologies.
Starting point is 00:36:24 But if I understand taps correctly, it's a way – so, okay, it seems to be focused on binary distributions using brew and not just – is that right? Is that what taps is? Okay. I can see see people i can hear them rolling their eyes right now but but the the other cool thing about taps if i if i'm getting this correct is that i will be able to set up a repository which is named something like homebrew dash solarized and then you could then on the command line, type in brew, tap, altercation, which is my GitHub handle, slash, or altercation slash Solarized, I think is the syntax. So basically pull packages from other users or other repos without going to the canonical source. Correct, using brew. Yeah, yeah, yeah. So forget what I said about binaries.
Starting point is 00:36:59 The unfortunate part about Homebrew is just the naming. Every time I try to Google something around Homebrew, you have to read through everybody making their own beer. Oh, listen, Wynn, this is a huge issue for open source. This goes back to everything. This is aesthetics actually. Um, I, it's not homebrew specifically. I, I think homebrew is just the bee's knees. So, you know, they can do no wrong, but, um, you know, it's like, did you see recently that fresh meat rebranded? I haven't, I haven't been out to fresh meat in years. Yeah, well, nobody has, I think. Oh, geez, Freshmeet guys, if you're listening, I'm sorry. But it's got to be the truth.
Starting point is 00:37:30 I think they realized that they needed to rebrand. And I can't remember. It's something to do with code. I don't even remember. It's a more business-y sounding name. And I can imagine that what happened is, of course- Freecode.com. Yeah, Freecode.
Starting point is 00:37:43 That's what it was. So, you know, you try to sell services or you try to pitch like an open source related project or product. And if you're going to do it in a business environment or you want to just get traction on it, at some point having a really goofy sounding name or a name that you can't Google is a real hindrance. I'm looking at you, Gimp. Yes, you GIMP. Um, GIMP makes me sad on a number of levels. Are you a GIMP user? You know, um, I really gave it a go, uh, and I'm not giving up yet, but I'm not really a GIMP user. Um, you know, Photoshop is a,
Starting point is 00:38:22 Photoshop is what keeps me on the Mac. I'll be honest. Um, Photoshop, not just Photoshop, but the entire Adobe suite, you know, it's, you know, I use, I do a lot of print work. Um, so I use InDesign pretty heavily. Um, I suppose less and less, but you know, I still use a lot of InDesign Photoshop, of course. For me, Photoshop's turning in just to the last pit stop on the way out to the, to the browser. I usually start in Illustrator and then just copy and paste that smart object into, into Photoshop and add some layer effects. And so, right, right. Um,
Starting point is 00:38:49 I do that. I definitely do that as well. But you know, one of the, one of the differences between Photoshop and GIMP isn't just the, you know, it's integration with a smart objects and illustrator for me, but it's also the fact that it does 16 bit, um, still not there with GIMP. We're still stuck in eight bit land and it also does, um, lab color space. So, and CMYK. So I noticed your personal website's running, um, hackle, which I guess is Jekyll for Haskell. Yeah. You're writing a lot of Haskell. Um, well, you know, I'm, I'm cutting and pasting a lot of Haskell, which is a kind of writing, isn't it? Yeah. And it's not just cutting and pasting.
Starting point is 00:39:28 I definitely write. Haskell is great. One of the reasons Haskell is great is because if it runs at all, it usually runs right. And, you know, part of that is just, I guess, the nature of it being functional. But it's a really beautiful language to write in. For those that don't know, it's functional, yet it's it's a really beautiful language to write in for those that don't know it's functional yet it's typed is that right yeah and you know what i'm i'm gonna take a pass and describe giving you any more details about haskell because i'm definitely gonna screw that up but um you know my intro to haskell was actually xmonad um again the tiling window manager that i use in arch and so xmon monad is you, you, you implement X monad using essentially what is a, you know,
Starting point is 00:40:09 your preferences is also the actual, um, runtime. So there are other window managers like that as well. Um, boy, what's the one from, Oh, I'm drawing a blank here. It's not awesome. There's another one. Um, it's been a while since I've been in that here. It's not awesome. There's another one. It's been a while since I've been in that space, probably since metacity. Yeah. Yeah. Yeah. Well, anyhow. But yeah, so the runtime is the preference file basically. And I started to just muck about with that and, you know, X monad, if you're not, if you're not
Starting point is 00:40:39 familiar with, I often see people ask like what tiling window manager should I try? Should I try awesome? Should I try Xmonad? And I know a lot of people kind of freak out because Xmonad is written in Haskell, and Haskell is a really alien experience. I mean, functional programming in general is kind of an alien experience. But it's not really hard. Once you look at a couple examples and you look at other people's stuff and you can kind of get a feel for how they're doing stuff. It's super fun to work with.
Starting point is 00:41:06 Does Xmonad integrate with GNOME or is it its own deal? You can. You can run Xmonad while you're in GNOME. So you just run it as your window manager then. And you get to keep things like your GNOME widgets, your taskbar, your menu bar and stuff. So it was, I guess, Xmonad that brought you into haskell and not necessarily any sort of syntactical advantage of no no it wasn't i mean you know there's i i can understand and i can appreciate the beauty of haskell now but it wasn't um it was a purely it was out of necessity i guess um you know it was really the only it it was the tiling window manager that I felt I could customize myself. There's, for example, there's a great
Starting point is 00:41:48 module for Xmonad, which is the, um, it's the input module. It allows you to create like kind of a, if you're familiar with, uh, like Quicksilver on the Mac or Alfred, uh, or a gnome, there's gnome do. So it's, you know, one of these quick entry tools. Um, there's a great feature in Xmonad, which is called Xmonad Prompt. And you can basically do anything you want with it. You can create it. It's completely programmable, customizable. So back to Solarize briefly. 2,200 watchers, 45 pull requests out there.
Starting point is 00:42:18 What's the story? Do you need help? Yeah, you know, I actually went to my first linux meetup the other day my first face to face real world linux meetup specifically to chat with some folks about about solarize and sort of the next step um you know and my decision at this point is first of all it's definitely going forward but i haven't really been sure whether or not i should just um there's a there's a whole list of little niggling problems, which I really wanted to solve and solve properly, uh, before I started to, to iterate this any further. Um, one of them
Starting point is 00:42:52 is, is terminal colors. Uh, terminal colors are really, really tough. Um, for example, the way that I have the terminal color set up right now, um, with the black and the bright black, I basically needed to swap those around. And then that's going to impact every other implementation out there. That's also doing terminal color schemes. And then the other problem is I wanted to edit the history of the GitHub project. Boy, you know, this was like my first big GitHub thing. I had done one other big open source project prior to this, which was kinkless. And that was also, I had a lot of users, but that was pre GitHub days. And I hadn't, I had a lot of users, but that was pre GitHub days.
Starting point is 00:43:29 And I hadn't, you know, I didn't really know what I was getting into when I did a big kind of GitHub project. I didn't know it would be a big GitHub project. Um, and I dumped a lot of just garbage in the GitHub history that I shouldn't have. There's a lot of like Photoshop files and stuff. So I thought, Oh, okay, I'll just edit those out. Well, that turns out to be kind of non-tribulant. I don't want to screw it up so i thought about you know maybe what i'll do is i'll just um kind of not mothball this but i'll start essentially solarize two at some point and that gives i guess there's a couple advantages to doing that one is um i can i can i can revise the the terminal color schemes and such and it's going to be very, very clear that people are going to have to update because it'll be version two.
Starting point is 00:44:07 And also, I've got two other color schemes. One is a lot like Solarized. It's symmetrical, but it's neutrals, so it's not the blues and the yellows. And then I have another which is non-symmetrical, and it's a little bit wider gamut. It's a higher contrast color scheme. So then I'll be able to build those into that release. And that's basically the next step.
Starting point is 00:44:31 Now, in terms of time frame, I don't want to hold myself to anything, but that's sort of my this year project. Do you foresee having some sort of build tool in that repo where folks could test their colors across all of these different tools, or would you split these out into multiple repos? Well, that's actually a question that I haven't resolved yet. That's one of the reasons I was excited about BrewTap, because this whole idea, one of the neat things about BrewTap is that you'd be able to have the different repositories. Homebrew wouldn't have to be pulling them in. Homebrew could let different maintainers manage their repository entirely separately, but still have it be accessible via brew. And I thought that's really cool. Not that that's going to map over to Solarize directly, early on when i when i set up the github repository for solarized i really wasn't
Starting point is 00:45:30 sure whether or not i should be using things like sub modules um you can tell i mean i still feel like a git newbie in some ways and i i'm relatively experienced with it but man there's just a whole lot i just don't get in terms of like best practices like binary files for instance the best way to manage binary files. So what I ended up using was something called Git subtree, which is a non-official GitHub module or Git module. And basically just some porcelain. It's bash bash based get porcelain. And that allows me to include external repositories in my main repository. But unlike sub modules,
Starting point is 00:46:05 you don't have to then run a separate command to import them after you check out the repository. Now I feel like that was a good solution at the time. Now I'm not so sure what I would read. The ideal situation for me is to have all the different ports for solarized be completely externally maintained by different people and, and people and not have to be pulling them in, not have this enormous gigantic repository, because it would be huge if I pulled them all in. So I'm not sure the best way to do that is, honestly. I'm really open to suggestions from people.
Starting point is 00:46:39 Sounds like you need to fire up IRC and get a hash Solarized. Oh, I've thought about that. I've thought about having a hash solarized channel for a long time, but I don't know. I have, you know, I'm on IRC a lot, actually. Maybe I should do that. I hang out in Vim occasionally, but, you know, signal noise is the issue. So 222 forks of this project, and I'm sure a lot of that is to, you know, add support for additional tools and things. But when you see folks tweaking the color scheme, how does it make you feel? Oh, I'm fine with it. I'm okay. I'm okay with it. Um, you know, it just means they don't have any taste, right? No, no, I've got to admit the,
Starting point is 00:47:17 and I'm not sure if this is I term or what, but, uh, I had a very early version of Solarize that the red was very, very red. I noticed, actually, my colleague Karthik, when I saw it on his screen, I was like, you know, I could live with that, but that's not what happens when I go to Solarize and iTerm too. And I think I had a very early version or old version of it. And when I redownloaded it, I was able to live with the more muted red. Yeah. The red, um, I spent so much time on that red easily. Like, I mean, I think I spent more time on that red than all the other colors combined. Red, red is really hard. Part of it is just like the human visual system. Right. Um, part of it is the way that it interacts with light backgrounds very differently than,
Starting point is 00:47:59 than dark backgrounds. Um, part of it is the way that the display device works with red. Um, you know, there's a real, there's a perception of bleed color bleed. So yeah, that was really, really hard. Um, yeah, that's actually one of the things that I'd like to do is there's actually a lot of interesting research, CIE related research and color space and lab related research about the way that, um, not just the human visual system works in terms of the nonlinear response to say different luminosities, but the way that the visual system, our visual system works in terms of a contextual contrast. So the specifically the way a certain value of red looks against a dark background versus a light background. And I'd like
Starting point is 00:48:44 to incorporate some of that research and sort of the next, either the next iteration of Solarized or a different color scheme. Another thing that slowed my adoption of Solarized was just tweaking my TMUX setup to have yet another color scheme in there because I'd already done that for my dark color scheme. And so TMUX colors are very lightly documented. I finally found the way to do essentially transparent colors by just saying default. I can let the window bleed through from underneath the status bar. But do you have some sort of glossary across all of these tools that maps, you know, this is that and this tool and this tool and that tool? You mean in terms of like transparency of the background?
Starting point is 00:49:23 Like foreground color, you know, the syntax changes between what you want to pull off in vim versus the terminal versus mutt no no i don't it's and you know even mutt um you can have end curses mutt and you can have slang mutt and um they're both they both handle colors slightly differently um those you know it's if there is a rosetta stone for this out there, I certainly don't know of it. I don't have it. Um, other than like lots of notes and then the cognitive map that I've developed over time and lots of pain. So you haven't automated any of that. It's all no hand.
Starting point is 00:49:57 No. And well, it's all by hand. Um, and that's one of the reasons that I don't have, I didn't initially roll out support for, you know, just a wide variety of terminals right off the bat, because they really do all require a lot of handholding. So you mentioned Mudd a couple of times, any other text mode tools that we should check out? That specifically have support from Solarized or that are just awesome? Either, either. I'm always looking for awesome text mode tools. Well, I'm a big TaskWarrior fan right now.
Starting point is 00:50:26 I don't know if you know TaskWarrior, but it's a command line task management tool. They just released version 2.0. 2.0 is available via Brew. And one of the reasons I'm excited about TaskWarrior is not just because it's a CLI tool for doing your task management. And they're cognizant of things like GTD. It also does have a solarized color scheme built in, but it also has a cool server-side component, uh, which is still in development. I don't believe that it's available. It may be available somewhere, um, in alpha form, but I'm not using it right now, but once the server-side component is out,
Starting point is 00:51:02 then it's really going to be kind of a distributed, um, device independent solution. And I, you know, it's, if you look at the development of that project, they're very active. I'm currently using task paper VIM just because the task paper iPhone client allows me to take it with me on the go. How are you handling the mobile aspect of it? If at all? Well, for a while I was doing, I was piping stuff in through email. I don't do, and I am pushing stuff back out through email, like doing quick, you know, like shopping list exports from Task Warrior.
Starting point is 00:51:34 But, you know, I do also keep like just text, flat text file lists that are essentially like task paper. I think task paper is pretty cool. But, you know, in terms of on the go stuff i'm in my cave all the time i'm never on the go going back to favorite monospace font before i let's forget to ask drew neil dimcast fame wants to know about your favorite monospace font which we asked about that earlier but what you would like to do with it yeah well no it's definitely um what i want to do with it is that uh is what i, it's definitely, what I want to do with it is what I described,
Starting point is 00:52:06 which is that kind of an open source retrace of Letter Gothic Mono. Ah, gotcha. Makes total sense now. When I got that via Twitter yesterday, I thought maybe it was some sort of inside joke that I didn't know about. No, no, I introduced him.
Starting point is 00:52:19 Ask him what he wants to do with the font. Yeah, I know. I introduced him to Letter Gothic Mono. I mean, I think it's, you know, Letter Gothic is, it's classic. It's beautiful. Um, I certainly, you know, I keep coming back to it. I'll occasionally leave it for something else, but
Starting point is 00:52:32 I keep coming back to it. So, um, definitely would like to see it in an open source format. Do you have a solarized theme for task warrior or is it just inherit what comes from the terminal? Somebody else built it. They built it and it should be distributed
Starting point is 00:52:48 with TaskWarrior 2.0. I think it was also distributed with 1.x as well. In terms of setting it up, it's like a single command line to run, operation to run to set your preferences to use that color scheme.
Starting point is 00:53:04 And they have both a light and a dark mode and they're really well done. I should say, use more light or dark. Oh, I it's, it's a pretty even split, um, time of day based or, you know, what's funny is I actually started designing and developing the dark mode first. And that was sort of the dominant, you know, cognitively that was the dominant theme for me. And over time, I think I started, I've, I've kind of migrated more towards the light background. But it's definitely time of day. You know, it's definitely, like if I'm in a dark room, for sure, dark background. Before we started recording, you were telling me about, in the move to Linux, audio and Linux was the biggest challenge.
Starting point is 00:53:45 Yeah. Yeah. Huge sigh. Yeah. You know, it's funny. Well, this is just sort of indicative of Linux on the desktop in general. And I see so many people ask that same question and I'm sure you do too. Right. Which is why, you know, is this the question we all kind of scoff at and laugh at, which is, is this finally the year of Linux on the desktop? And the answer can only be a resounding no for most people, but it's certain I think developers still do. And I mean, I use Linux on the desktop. I know a lot of developers that use Linux on the desktop. I would be Linux on the desktop full time for everything if certain conditions could be met. And those conditions would be that audio
Starting point is 00:54:26 not be a complete nightmare. Um, that, that I had a decent graphics editing tool, you know, I don't, I'm not asking the world. I don't need, I don't need, I even give up CMYK support, but I just need it to be 16 bit, you know? Um, how long have you been using Linux on the desktop since 2010? Um, and prior to that, of course I used Linux. You're relatively new. Oh, I'm a total noob. I'm a total noob. But you know, I mean, I jumped in with both feet. I mean, I've released a lot. I've written a lot. I wrote like a, an installer for arch Linux from scratch just to kind of teach myself how to do it. Um, you know, I've written, I've done a lot of, yeah, I've really tried to be aggressively engaged
Starting point is 00:55:08 and also kind of a good citizen of that community. I think I first got into Linux on the desktop 97 or 98. Oh, man. It was so funny back then, you would spend all this time on your Windows desktop to trick it out to make it look like Linux just because it had the cooler look and feel feel and sometimes you're on linux you'd go the the opposite direction but lately i spend most of my time in text mode oh yeah totally um
Starting point is 00:55:34 that i mean that's for sure like you know one of the reasons that uh x x monad has been so great for me is because i you know i'm just spawning terminals all the time um And having it be a tiling window manager is ideal. But this is one of my biggest appointments with Linux on the desktop right now. And actually, look it, Ubuntu, I applaud what Ubuntu is doing with Unity. And I'm not a Unity user myself, but they're taking a risk.
Starting point is 00:55:59 They're experimenting. My problem, I shouldn't say my problem with Ubuntu, but, uh, my concern, I guess, is that I S I see them doing things like, you know, they were, they were working on like the T Ubuntu on TV. And to me, that is such the wrong direction to be focusing their energies. Um, you know, it's a consumer product. I understand. And, you know, we have Linux and consumer products today. We have Android, but I would love to see concerted effort over the next 24 months to solve a couple key problems in Linux and the desktop. First of all, I would love to see these distributions focus on developers. I mean, this is the low hanging fruit people, right? I mean, like developers right now,
Starting point is 00:56:39 if you're a developer, if you're a web developer, what are you doing? What are you choosing from? You're choosing between Mac and Linux primarily. That's true. Right. And, and the Mac is a really appealing platform. The Mac has some awesome tools, but I am super happy developing on Linux other than the graphics issue. And what's weird to me is I look at the development of things like, you know, that, that kind of strident response from the gnome team where they were like, look, we're not going to allow any customization. We're not going to have – they were really adamantly against the web-based extension installation. Ubuntu with Unity and this real push to really focus on sort of like consumer adoption. I feel like what's happening is they're forgetting about the fact that they really – they cannot lose the developer market.
Starting point is 00:57:23 If you lose the developer market before you've achieved the consumer market, you've lost everybody, you know, and that, so that, that's really, I think number one, just don't forget about your key market developers. Um, and, and, you know, anything, if you're not focusing on developers first and really making sure that you're at least taking care of them, everything else is a fantasy. Um, number two is they really have to solve the hardware problem. You know, I like boy, when I was researching what laptop to buy, I don't know if you have this experience, but like the, I went through probably 16 different wikis before I made a decision. And one reason why I'm on the Mac is it limits my choices. What did you end up getting? Well, I went with Lenovo and, you know, I've always been a fan of
Starting point is 00:58:03 ThinkPads. I've had ThinkPads since they were produced by ibm and i've always been fairly happy with the build quality um my my experience has been sort of mixed this time around i've had i have two lenovo sitting right next to me right now i have two thinkpads i'm on i'm on an x220 um tablet with the touchscreen actually which is pretty cool i'm excited about the multi-touch features that are being put into the, into X org right now, but you know, that's, I just feel like, uh, another great move would be some kind of industry consortium where you had like Fedora, Ubuntu, a couple of the other big distributions arch, of course. Um, but you know, get these people together and say like, let's, let's pick for the next 12 months, the next 24 months, three laptops, two laptops, make it two, make it simple, you know, one high end and one kind
Starting point is 00:58:50 of very lightweight netbook like system and have those be baseline gold standard systems. You know, if I knew that it was as easy for me to go out and get a Linux laptop and, you know, for certain values of easy, but if I could go out and get one of those two gold standard systems and know that Fedora, Ubuntu, and of course, Arch, the most awesome, that these distributions were going to be supporting that particular model for 12 months. I mean, not supporting, but that they would be tested or that it would be sort of a known, and you know, this is Linux we're talking about. I'm not, I'm not saying that it's not, it's, it has to be easy, you know, like just out of the box, everything is working. But there is going to be a dedicated forum for that laptop.
Starting point is 00:59:30 There's going to be a set of drivers that are tested and that I can get it working and I can feel comfortable making that choice. That right there, I think, would spur a lot of adoption. Have you had any problems getting drivers for Arch? No, no. It's been great. In fact, Arch for me is a lot better. I really prefer Arch because of that. I mean, the rolling release model is stellar. I love it. You know, I have not, you know, you always hear horror stories about Arch breaking and I certainly, I haven't had many problems with it. I mean, occasionally once or twice, but it's never been a showstopper for me um no i i just love it i feel like it's much easier for me especially given the weird hardware that i'm running the touch screen it's been a lot easier for me to run arch and get that kind of that kind of stuff uh working functional the way that i want it um you know i have multi-touch running with xmonad right now
Starting point is 01:00:20 so that i can swipe using a four-finger swipe on the screen back and forth and have it switch xmonad spaces i mean you know like that kind of stuff i can't even so that I can swipe using a four finger swipe on the screen back and forth and have it switch Xmonad spaces. I mean, you know, like that kind of stuff. I can't even do that. I can barely get, you know, OS 10 Lion. I can barely get spaces working the way I want. You know, this is why Xmonad is great for me because I can just absolutely customize it down to the metal. And spaces is broken on Lion. If you have multiple screens, it's just, oh, it's terrible. It's terrible. I mean, it's criminal, really. You know, that's UI criminality right there. So one last question for you.
Starting point is 01:00:50 What's on your open source radar? Anything out there that you just want to play with? Oh, boy, that's a good question. Boy, I don't know. Let me think about that for a second. Thinking, thinking. Yeah. So, uh, things that are open, uh, open source projects on my radar, um, I guess I, there are things that I would like to do certainly, uh, open source projects that I'd like to, to be involved with. Um, I, you know, I'd like to do
Starting point is 01:01:21 a lot more with Vim. Uh, Vim's always on my radar, but it's great to see that Vim hasn't slowed down at all. Uh, one thing I would love to do is, and this is not like a particular project of my radar, but I'd love to see some, some effort in terms of the kind of the Vim documentation and the Vim wiki, which is really aging. Um, I'm not sure what, you know, what could be done there. And I feel like there's enough smart people in the Vim community right now that something could happen. Um, so I'd love to be involved with kind of revising that. Vim's one of those tools that your friends tell you about and then you get into it, but it's, it's kind of hard to go somewhere and, and learn and make an objective decision of if you want to
Starting point is 01:01:56 jump into this editor. Oh yeah. I mean, it took me, I really had to like section off about a, literally a month of my life to learn them without exaggerating like i think i just kind of like hold up for a month and was like okay i'm gonna learn them um it's like touch typing for your brain right i mean it's you know it really just requires a significant remapping of the way that you deal with text and i think dr nick called it 1960s video game technology. 1960s were awesome. He's got a certain – that rings true to some extent.
Starting point is 01:02:31 Some people ask you, how did you do that in Vim? A lot of times, I don't know. I'll have to do it and watch my fingers because it's just muscle memory. Oh, totally. I mean it's like I have passwords like that where if I think too hard about the password, I'll probably type it in wrong because my fingers remember it pretty well, but my brain doesn't. Um, other than that, no, I'm, I am still playing with PF sense. I have a, I built a router, um, which is running PF sense, which is a BSD and it's just an outstanding, uh, uh, firewall and router solution. And I did a lot of custom hardware for that. So like I had a custom faceplate burnt or custom faceplate cut out locally here in Seattle and did a lot of custom chassis design for it.
Starting point is 01:03:14 So that's been a lot of fun. Well, thanks for joining us, Ethan. It's been fascinating to talk about Solarize and some of the theory behind it and just a wide range of topics. Yeah, well, thanks for having me, Wynn. It's been a very enjoyable chat.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.