The Changelog: Software Development, Open Source - The Sass Way and Open Publishing (Interview)

Episode Date: April 18, 2014

Adam and John talk about Sass, The Sass Way, Middleman, and open publishing on GitHub....

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome back everyone. This is the changelog where I remember supportive blog podcast and weekly email covering what's fresh and what's new in open source. Check out the blog at the changelog.com or past shows at five by five dot TV slash changelog and subscribe to the changelog weekly that's our weekly email we send out covering everything that hits our open source radar you don't want to miss it subscribe at the changelog dot com slash weekly and you're listening to episode 118 and john long is joining me to talk about sass the sass way
Starting point is 00:00:39 the sass way dot com by the way um open publishing on GitHub, Middleman, Serve, and a bunch of cool topics. We had a fun conversation. Today's show is sponsored by DigitalOcean, FreshBooks, and TopTile. We'll tell you a bit more about FreshBooks later in the show and also TopTile as well. But DigitalOcean, we're hosted on DigitalOcean. We've been working with DigitalOcean for several months now. They're a partner of ours, and they're a simple cloud hosting provider that's dedicated to offering the most intuitive ways to spin up a cloud server. In literally 55 seconds, you can have a full-on server created with root access, and you're off to the races.
Starting point is 00:01:15 It just doesn't get any easier than that, really. Pricing plans start affordably at $5 a month for half a gig of RAM, 20 gigs of drive space. That's SSD drive space, by the way one cpu one terabyte of transfer and if you only need to serve it for a little bit for a couple hours or for a couple days or for a week they even have it where you can rent by the hour basically and it costs just 0.007 of a cent an hour that's less than a penny an hour super affordable we got a special promo code just for our listeners use the promo code changelogapril to get a $10 credit when you sign up. Head to digitalocean.com to get started. And now, on to the show. We're joined today by my good friend John Long. John, I guess
Starting point is 00:01:58 this show is kind of funny because I wanted to have you back on the show. This is not your first time on the changelog, so that's kind of like welcome back too, right? Yeah. I think the last time we were on here, I was talking about Radiant. Yeah. So it was a long time ago. It was a long time ago.
Starting point is 00:02:16 And the funny part is that I got to say like what, three years ago now we started the Sassway, the blog, the Sassway? Yeah. Was it three years ago now we started the Sass Way, the blog, the Sass Way? Yeah. Was it three years ago? It's getting to the point where it's hard for me to remember how long ago it was. I think it is right around three.
Starting point is 00:02:33 Yeah, it's so crazy to think, like, three years ago, though. I don't even know. But, yeah, so I wanted to have you back on the show, one, because you're pretty awesome, and two, we've got this kind of, I guess, somewhat of a new announcement. It's been about two weeks or three weeks now since we've had this out there, but the SaaS way, just to kind of fill everybody in, the SaaSway.com is a blog John and I started together maybe, we're saying roughly three years ago.
Starting point is 00:03:01 We'll figure out the exact mark there. It looks like it was 2011. Was it? Yeah. So it was like around, I guess, yeah, July, August 2011. Yeah, so we're coming up. So roughly three years. Yeah, just shy.
Starting point is 00:03:16 So we started this blog because we were super passionate about writing CSS the SaaS way. And so we wanted to be the SAS jerk, so to speak. We wanted to be that person to like tell the world about SAS and compare it to, you know, various ways you can do it with CSS, but make your code more readable or use mixins or use libraries and all this fun stuff. So we wanted to share our great fun stuff with the sass way and you had a project called sass watch that you started with brandon mathis who's also core contributor to compass works at uh mongo hq and he's pretty well known actually for octopress right yeah although i'm not sure i'm not sure if brand was involved. I know I had asked him at one point if he would be interested in being a part of it, but he's a busy guy. Yeah.
Starting point is 00:04:13 And I didn't get a whole lot of traction on that. I think I was doing that for – it wasn't long. It was actually just a month or so by the time you contacted me. Ah, okay. Okay. Yeah. Well, before, I guess unless we assume somebody went back and listened to, I'm not even sure what the episode was that you were on before that we gave you your other intro here on the Change Law. But for those who may not know who John W. Long is, who are you, John? So I'm a user interface designer i work for uh user voice uh we make uh help desk and feedback software um yeah i live in cary, North Carolina. Work in Raleigh, North Carolina. Yeah.
Starting point is 00:05:10 Past accomplishments is Radiant CMS and... Yeah, I was the creator of Radiant CMS. And I also serve, yeah, a number of open source projects on GitHub. Yeah. Are you still involved with Ruby Lang and I guess the site at least? You know what? That seems like it's picked up traction. They moved away from Radiant at a certain point and I've just been happy to see that other people care about that site
Starting point is 00:05:44 and are maintaining it, which is great. Are you still involved in Radiant then or no? I guess officially I still am, but unofficially I haven't been involved with the project for a long time. Okay. Yeah. How do you feel about that? You're pretty happy or just whatever? I mean, I still have a lot of things that I would love to see Radiant be able to do.
Starting point is 00:06:10 But honestly, most of the stuff that I work on nowadays, I'm very content to use a static site generator. I mean, having the site in a database, unless you're working with like multiple people or uh it's kind of a drag it's great it's great to be able to check stuff in to get and um you know and even deploy uh through get on like heroku or something like that so um yeah i mean i would love to update it uh there was a lot of work that went into it when I first worked on it, pushed it out. I think I worked on it like eight months, almost solid. And I just don't have that kind of time to devote to it anymore. And Jim Gay, shout out to him, Saturn Flyer on Twitter, has been maintaining Radiant for a number of years and has done a great job at it. So I'm very content to let him lead the charge with that.
Starting point is 00:07:18 And Jim actually runs kind of a web consultancy and is building sites every day with Radiant CMS. So I think he's the right guy to work on it. I think one of the things that was hard for me was after I created Radiant, I ended up not building a lot of content-oriented websites. Instead, my career sort of went towards web applications. It's kind of funny how that works out, right? not do not building a lot of content oriented websites. Instead I, my career sort of went towards web applications. It's kind of funny how that works out,
Starting point is 00:07:49 right? Applications in general. And so, yeah, there's times when I feel like I'm kind of isolated for that problem space. Um, you know, I,
Starting point is 00:07:59 I don't understand it as well. Yeah. What's a good tee up for what we've done with the sas with us the sas way started out as uh as a nesta cms which is a ruby um file based i guess is the probably easiest way to say it is a static site i don't think nesta has i think it might have that feature but it's not it's not meant to be a generator it's meant to be basically a flat file based cms written in ruby right um and that was a great project it's what helped lift it off the ground you know we you and i were able to easily uh tee that up pretty quickly we did deploy the heroku's you know super fast because we took you know we took advantage of
Starting point is 00:08:44 like varnish and caching and other things that Heroku provides and all the other things that just a flat file system kind of CMS provides. But here, about three weeks ago, we took this turn to finally – I mean, like we said, the site's been out there for almost three years and we our original model was kind of to you know go out to the sass world and sort of recruit those that were for like a better terms movers and shakers people that were sharing you know their knowledge with the sass community on how to best write css the sass way and you and i talked i would say probably like eight months ago about open sourcing the SAS way. And oddly enough, and I'll come clean, but I felt a little apprehensive about doing it. I don't know why, but I'm really glad you forced us to do it because I think it's really a much better fit for the content the way it is so why don't you share with listeners why you feel passionate about how the sas way meets up with this git flow kind of check your content into git kind of mentality this sort of
Starting point is 00:09:52 open publishing way of doing things yeah i um i mean i think part of it for me uh has just been over the last couple years years, getting more and more familiar with the way GitHub works with pull requests and all that. I mean, we, we're passionate users of get at user voice and probably about every other company these days. And that, that workflow of just being able to work on a change, push it into a branch, ask for people to review it, comment on it, whatever, merge.
Starting point is 00:10:38 It just seems ideal for building text-based documents, I guess you could say. One aspect of it, too, is we're a blog about HTML and CSS and, you know, SAS. And so like having the ability to quickly drop in and write that kind of code alongside writing code for an article is pretty awesome. So, I mean, in general, the fact that it is a static file-based content management system, it's all checked in on there on GitHub. It means it's a lot easier for people to come alongside and submit new articles, scenario, which we still try and recruit people to write stuff on the SaaS way, to it being also something where people can come to us and say, hey, I have an article idea, an idea for this article. What would you think? And then they fork the repository, they write it up and send us a pull request. And, um, you know, we, we've had, uh, two articles,
Starting point is 00:12:08 I guess, since we, uh, opened it up this way. And, uh, it, uh, you know, these are from people that we didn't know about and, um, they've worked out to be fantastic articles for us filling, you know, some holes, uh, uh in in what we had and so one of the things that i've struggled with too is is that sometimes you really need an article on a topic but one of your go-to people i guess is not like doesn't really want to write about that um and so really freeing up just for anybody to be able to contribute to it has been, I think, a very good thing for the SAS way. I mean, considering that SAS and Compass, and I guess the SAS world is known to be,
Starting point is 00:13:00 you know, it's their open source technologies anyways, it would make sense to, and this is why I said I self-ad that, that I was sort of the bottleneck. I mean, it's kind of funny too, that the fact that, you know, I helped lead the changelog who, you know, focuses on what's fresh and new and open source. And here I am being a little apprehensive about opening up this publishing flow, just because I think part of me doesn't want to lose control. But then I learned something along this path that I realized that wasn't really control we were trying to achieve.
Starting point is 00:13:30 It was really openness. And I think the last probably few weeks, I've really changed my idea because I've been closely involved in this project, being open source and kind of helping curate this content and manage it. It's, it's, I can see now the light, so to speak. Yeah. By having it open. So like you said, it's, it's really easy for someone to, to forth a repository and, you know, don't worry about messing up. There is no such thing as messing up. And, you know, they, they
Starting point is 00:14:04 sent us an idea and And worst case scenario, we helped them evolve that idea of an article into something even better. And that helps lift up the SaaS community. And like you'd mentioned, having a certain topic to kind of write upon. We don't always have a go-to person on the team already to kind of write one of those
Starting point is 00:14:24 and somebody can bring that idea to us and it's a lot easier. I like the way too also how we've kind of dissected the SaaS way as content. You got beginner, which makes sense because not everybody is a SaaS guru, so to speak. No one really has an expertise. Not everybody has an expertise level and then you got intermediate and then you got advanced and that's fit pretty well too. Can you speak to maybe how that's played into helping the community kind of with training will, so to speak, get to mastery with, with SaaS? Well, I mean,
Starting point is 00:15:00 the best way to kind of answer that, in my opinion, is that I've been using Sass for a number of years. And I know it pretty well backwards and forwards. But even so, for some reason, I can never remember the syntax for how how to write a for loop in SAS. And the funniest thing is, is that like, I'll just type it into Google, like for loop SAS. And like the first thing that comes up as an article on the SAS way, um,
Starting point is 00:15:41 on how to write, you know, for loops and if statements and things like that. And so I really see us and I think we've kind of gone back and forth a little bit about, you know, are we a news organization or are we, you know, are we trying to stay sort of current in the things that we're writing about? I mean, normally, like with a blog, it's like this progressive series of ideas that, you know, you're blogging about. But the SAS way has really become much more the website about tutorials and the best tutorials that you can find on SAS, for the most part, are curated and kept here on the SAS way.
Starting point is 00:16:28 So I definitely see it as, like, I feel like the service that we're providing in the SAS community is just that easy onboarding and, like, understanding how to use SAS, how to structure your SAS projects, all that kind of stuff, where we're trying to write about it to help and assist you. And so for a number of the just getting started sort of topics, I think we've been a great strength to the SAS community in that regard, making it so much easier for people to get, get on board. So that's where kind of, I would see the beginner stuff. Um, in particular, um, we just had one of the articles that was contributed was on, you know, choosing great variable names. Um, and in some ways, it's a really simple article, but he's pointing out, this guy Frank from South Africa is just pointing out that naming variables like red and blue and green and things like that and using those throughout your code isn't a good idea. Instead, using variable names like
Starting point is 00:17:48 brand color or accent color or trying to think of the semantic sort of value that you're capturing there is helpful. And while for somebody who's been writing code for a long time, that might seem, um, just so obvious that you should, you know, choose good variable names for people that the thing that we have to remember is, is that a lot of people that are using SAS are people that have come to it from the design world, not the coding They need tips on how to code well. So yeah, I think I've kind of gotten off track here. I feel you, though. I think the point you're making there that's really important is that while that particular article you're talking about from Frank seems simplistic. It's the obvious sometimes that I think we serve the SaaS community because, yeah, sure, it makes sense that variables should have semantic names and they should make sense. But not everybody really understands that.
Starting point is 00:18:56 And I think it almost feels like a position that the community blesses. This is a community guideline, for lack of better terms. And because it ends up on the SAS way and makes it through this open publishing model where everyone who watches and starts the repo kind of gets these updates. Like there's a new issue. There's a new pull request. There's some dialogue happening about this particular article. And it gets to this system that even though it's an obvious idea, choosing great variable names. Sure, that is obvious, but I think the way Frank and even the comment you left today, pointing back to Gina's style guide for sasslang, you know, that's,
Starting point is 00:19:32 that's remarkable. Like, you know, she's got all these different colors identified and they're not like slightly pink and a little bit more pink. It's like hot bush and bouquet and venus you know they're not they got like cool names and you know i think that makes sense yeah and then she uses those colors she assigns them to uh like text colors yeah um accent colors and background colors um yeah yeah i mean i i would see us as kind of a jumping off point to kind of discuss best practices and how they're implemented. There's been a number of articles where the way that I finish it up is just, hey, go check out these other repositories. Right.
Starting point is 00:20:21 You know, go look at what Compass does go look at at these other projects octopress and and other things to see how you structure your sass projects or or other things like that so some of it um you know i know uh sass community has been really blessed with some very talented people working on the uh the sass uh laying website. But a lot of where they're at right now is just kind of informational, you know, just trying to help people download and get started with SAS kind of thing. Yeah.
Starting point is 00:20:58 Whereas I think the SAS way is more about that conversation and, you know, how do you use SaaS in your everyday life kind of thing. Well, back when someone asked me, I can't recall who it was, but somebody said, well, SaaS has good documentation and so does Compass. Why are you guys creating this blog? What's the point? And I'm like, well, not everybody wants to go and read documentation i mean documentation is great you need it it works but to get started somebody doesn't go always to the docs and say okay let me just get lost in there you kind of need this guide and i feel like what we've done with the sas way and what we try to do at least when we invite people to do and the reason why we've open sourced it to invite everyone to fork it and submit their article and pull request is that, you know, going to the docs and reading those isn't always an easy way to get started or an easy way to reach mastery or to know that, you know, there's a better way to do variable naming.
Starting point is 00:22:06 Sometimes you need somebody from the community to kind of guide you through that. And that's, that's sort of like, you know, the documentations serve that, but it's, it's a little dry, you know, whereas we kind of bring it to life. We bring it to life. And I think we've kind of showed like how you practically use something. So like to give you an example, I wrote an article a couple of months ago about mixins for semi-transparent colors. How do you provide browser fallbacks?
Starting point is 00:22:37 Not all browsers support RGBA colors. Since they don't, particularly internet export 8 like how can you use sass to make your life easier um with calculating two sets of colors for those attributes and so that's what that article is about but what you're introduced to is well functions like the rgba um you're also introduced to mixins uh in the course of the article and you're like seeing like how you know these are developed what the thought processes are are are behind that and you might come across something like default attributes or something like that that you didn't know about before um so i think a lot of what we do is sort of a community awareness
Starting point is 00:23:29 kind of thing. Just encouraging people to talk about and think about SAS and how they're using it in that regard and sort of learn. You're not going to read documentation from page one to the end kind of thing. Instead, you're going to pick up and try and use what you have. And sometimes you don't realize there are better ways to do that. So by giving these practical articles, people are able to, you know, jump in and see how someone else is doing something and learn from that. Let's pause the show for just a minute and give a shout out to our sponsor, TopTile. For those of you out there who are freelancing, or maybe you'd like to freelance or even kind of try out a freelance-like project
Starting point is 00:24:16 where you're maintaining your full-time position, you have to check out TopTile. TopTile is a new, rapidly growing network of some of the most elite engineers in the world. They're distributed all across the globe. Their primary focus is connecting their ecosystem of top engineers and top companies. You work on special projects with companies like Airbnb, IDEO, Zendesk, and many others. You can work remotely, on a beach, or anywhere in the world. To get started, head to toptal.com slash developer and click join TopTal. That's a nice big old green button.
Starting point is 00:24:54 You cannot miss it. That's T-O-P-T-A-L dot com slash developer. Let's talk about the process of taking the SaaS way and making it open source. I know that I did the original design, and then the second redo, I guess, is pretty much all you. You took the old repo, pulled all the content out, moved us to middleman and a bunch of other fun stuff. You used SaaS, I'm'm sure behind the scenes to you know write the styles did you use a framework you know what was the process of like redesigning and then going open source
Starting point is 00:25:32 yeah so we i mean we had a number of reasons uh to redesign one was that the um we really wanted to update the logo and sort of the feel of the site. SAS had the woman on the phone. Right. The sassy lady with the phone in her hand. The sassy lady with the phone in her hand. And there's a kind of reflect that. So that was part of what motivated me sort of getting in, rethinking the design. I think, you know, from a higher level, I was also interested in just kind of simplifying
Starting point is 00:26:28 some of the things. Um, we wanted the site to be more responsive. One of the things that I'm learning more and more of is, is that a lot of times people are reading these things on the go, whether you're, you know, for sure, whether you're on the bus or, you know, frankly, on the toilet at work, you know, you're pulling it up on your phone and you're looking at it and you're reading your Twitter stream. Why do they have to be at work while they're on the toilet? Why, why at work? I'm trying to think of a productive reason to be on the toilet. Okay. Anyway. So, so, you know,
Starting point is 00:27:03 the mobile side of it was part of it. I think the other thing that I was really kind of interested in, too, was in just illustrating particularly some of the modular CSS stuff I've been writing about on the CSS, the SAS way for a while. I wanted to spend some time to kind of make our CSS more modular in that regard. So a lot of things there uh we ended up um i'd been playing around with middleman and middleman to me i i can't really say enough good things about it i've created my own thing uh serve um which is kind of in the same space. It's really for rapid prototyping Rails applications, but it also generates static sites kind of similar to Middleman. Middleman, to me, is kind of the...
Starting point is 00:28:00 Ruby has had a series of static site generators. Nesta. The oldest one is Staticmatic. Staticmatic. There's really like six or seven of them that have played a major sort of role in it. And Middleman is kind of the latecomer, but he's sort of learned from everybody in terms of what people want to do with their static sites. Jekyll's another one of them. Um, and middleman has this plugin architecture, uh, and sort of a data model
Starting point is 00:28:33 that, uh, those two things really make it a killer content management system. Um, I actually, they have plugins for doing the blog portion of it. And I ended up just writing a little Ruby code and helpers to pull out the information I needed instead of actually using the plugin that they have. Because the structure of our site was significantly different than if we had chosen to use their blog plugin. And it was impressive to me that I was still able to, you can do things like go through the list of all of the pages on your site and grab their summaries and filter them in different ways. And having the ability to do that, you know, in code to build those category pages and other things like that that we needed and to do it exactly according to our old structure
Starting point is 00:29:38 was just amazing. I thought we were going to have to, you you know do a lot more with redirects or something like that when we upgraded the site it's always tough when you move a site from even one similar system because nesta wasn't very far off from middleman honestly i mean they're pretty similar monsters but obviously a slightly different structure but the urls that we chose originally were meant to be short and sweet not you not extra category sections and segments in the URL. It was pretty straightforward, so I was really happy with that too, that we were able to keep the URL structure.
Starting point is 00:30:15 One, just because it fit, and two, just to not have to do the redirects like you mentioned. Right, and I think one of the things that I was really pleased with was it was almost like I was just deleting code in order to make it work well in middleman. And what I mean by that is that there were times where we had like, in Nesta, had to use like multiple partials and sort of like these hacks to like go around things. And in Middleman, when the final product was there, there were like less files that had to be used to like get it. Yeah, so it's – Even Middleman and Jekyll though, for those listening and thinking like Middleman, Jekyll, how do you choose and why do we choose middleman? They're very similar. I mean, even they both have the front matter.
Starting point is 00:31:10 They both have similar ecosystems. And I think Jekyll is starting to get a lot more new life with Parker taking over and taking the helm of, you know, leading that. I mean, it's growing into its own thing as well. And Octopress has always been there leading the way as well with it. But Middleman, like you had said, is kind of like in this middle ground of and the usability of it is really nice as well, and the fact that it's got that plug-in ecosystem. It's got tons of stuff, like a blog plug-in
Starting point is 00:31:38 and all sorts of cool stuff that you can do with it. Yeah, it's – I mean, my feeling is I would much rather use Middleman and I've used Jekyll before. Jekyll just seems to be, it sort of pushes you into that blog paradigm kind of thing. It's a little bit like WordPress years ago, how every WordPress site was like a blog.
Starting point is 00:32:07 Right. At first it was a blog and then you kind of morphed it into a site. And now it's become more of a content management system WordPress has, or at least that's my understanding. I haven't used WordPress in years. And I think Jekyll's on a similar journey. But Middleman is a content management system first. And in my mind, it just makes a lot more of decisions the right way in that regard. So, yeah, I'm a huge fan.
Starting point is 00:32:39 And I mean, serve basically competes with middleman in some people's minds as well. So, you know, I'm a passionate middleman user and I wrote my own thing. Yeah, I was always – I always wondered about that too because, you know, I was a huge fan of your CERV framework, which, like you had said, is very similar to middleman and competes with it and i think um there was even a point too and i was like man middleman really requires a ton whenever you do you know gem install middleman a lot comes with it and i think with serve you kind of leverage tilt a lot more and was it tilt or what was the one particular library that you were other ruby library you were leveraging to kind of keep things, you know, less dependencies. Do you recall? Um, I mean, I didn't, well, okay. So rack is probably what you're talking about. It originally serve was not built on rack. Um, and at a certain point we rewrote it so that
Starting point is 00:33:40 it was on top of rack. Um, I, and at a certain point we rewrote it so that it was on top of rack. And at a certain point, we rewrote it so that it was on top of tilt as well. So I think middleman and serve are fairly comparable in that regard now. I still feel like serve, what I love about serve, particularly using it in unstructured mode, you can just throw a bunch of files in a directory and just type the serve command and it knows how to serve up SAS if you want SAS or serve up the other stuff. But when you get to something, so it's almost like the code pen tool kind of thing. That's sort of where Serve's sweet spot is. But when you get to something a little bit bigger and really a site
Starting point is 00:34:28 that you want to manage, I think Middleman wins hands down. I'd still probably use Serve for prototyping Rails apps. One of the things that I love about it is that for the most part, you use the exact same calls
Starting point is 00:34:41 in Serve as you would in Rails to do helper methods and things like that. And middleman somewhat follows that. They make some different decisions on certain things. I think one uses render and the other uses partial to call out to. Right. Yeah, that kind of bugged me when you don't at least adhere to other, I guess, what do you call it? Just patterns the way that other, you know.
Starting point is 00:35:12 Right. That had been set up. So, you know, in that regard, if you're coming from Rails, you know, I think Serv still has some advantages. Or things like Link2, for example. Right. But Serv also has a hard time right now exporting certain projects. Like there's more work to be done to make Serv awesome. And Middleman is just much better architected.
Starting point is 00:35:36 So where is Serv at nowadays? Like is it – where is the priority for you on that? Is it something you're still working on um it i every once in a while i will spend time on serve yeah i you know part of it for me part of it for me is is that i've like serve works for me for prototyping rails applications it like scratches that itch like really well and middleman works for me for static sites like really well so where serve could grow is in becoming more like middleman right and that's not that doesn't make any sense because but now i'm like well but there's already middleman and um it's
Starting point is 00:36:27 already solving that problem so part i don't know i you know i've having started i guess if you count serve two major open source projects i'm more than content to let them die at this stage because of the amount of management that they take what this says your track record john you create cms so they die or something like that i i don't know i i'm just saying that like open source is a ton of work yeah um it is a ton of work and it's i'm happy when another tool that's better comes along and replaces something that I was working on. What does that happen then? I know we're kind of hanging out on the serve topic for a little bit, maybe too long, but bear with us, listeners.
Starting point is 00:37:12 But for serve, do you have issues coming in often? Do you have people that are using it for production and they're bugging you about it? Is that – or is it just kind of quiet i mean there's there's um probably the biggest thing right now right now is uh people really want export to work exactly as it does when it's serving the project and unfortunately um because of the way rack middleware works and all of that, if you have certain things installed, it's not going to render your site exactly as you wrote it.
Starting point is 00:37:56 Now, if you're just doing vanilla serve, it certainly will. But if you started to do some customization and all that, the export doesn't know how to read your config.ru to figure out what that extra middleware is doing kind of thing. So there's some work that needs to be done basically to give serve a configuration file to store some of those things in so that it can use it when it's exporting. It can use the configuration part of it to figure out how to rewrite urls or various things like that um
Starting point is 00:38:30 yeah and and then there's things that like i mean just comparing it to middleman middleman just does so much better um i mean i love being able to like, encode every single page on my site and build navigation or do whatever I want. Whereas with Serve, I would have to write code to navigate the file system. And there's no concept of front matter or anything like that. So it's a much, much different system. kind of got through this tax season and i bet if you weren't using fresh books your life was probably a bit of a mess and tell me if this sounds right if this is you you're hunting for receipts digging through invoices going through every record one by one and that's that's the worst you know fresh books is the simple cloud accounting solution that makes tax time a breeze
Starting point is 00:39:44 and with fresh books you can create professional-looking invoices, capture and track expenses, get real-time business reports with just a couple clicks. Plus, you can work from anywhere with FreshBooks. You got mobile apps. You got one for your phone. You got one for your tablet. You can do it online, through the web.
Starting point is 00:40:02 So, I mean, anywhere you are, you've got FreshBooks available to you. And like I said,'ve got FreshBooks available to you. And like I said, we use FreshBooks. We do a lot of invoicing through sponsorships and partners and stuff like that. So I mean we would – I don't know what I would do if I didn't have FreshBooks. I just say it like that. I really don't. It's the bee's knees to our business.
Starting point is 00:40:28 And the sooner you start using FreshBooks, the sooner you can start focusing on the work you love. And instead of focusing on your paperwork, you can focus on the work. And for a limited time, you can try FreshBooks for free for 60 days. To get started, visit GetFreshBooks.com now and enter the changelog in the How did you hear about us section when signing up huge thanks to FreshBooks for sponsoring 5x5 the changelog we absolutely love FreshBooks see I was never really a huge fan of
Starting point is 00:40:56 I guess the front matter all the time because I was for a while there I had to write everything in Hamill and I've since kind of like laid that down I don't really you know I don't had to write everything in Haml. And I've since kind of laid that down. I don't really – I don't have to write everything in Haml anymore. I used to be a diehard Haml fan. I would not write it, and that's probably to my detriment that I wouldn't write it unless it was in Haml. But some front matter mixed with Haml, a Haml file, your syntax highlighter gets out of whack or whatever.
Starting point is 00:41:30 I like the Frontmatter of middleman. I think we were able to really extend things quite some bit. Going back to the SAS way, one of the cool things you were doing with this latest version is... There's an article. I think it's still in a pull request for SAS 3.3. Yeah, so we wrote one for, we wrote an article for SAS 3.3. And what's awesome about this article from a technical perspective is that it has a completely different header from all the other articles, which is something that I want to experiment with, is writing or doing a little bit more art direction, I guess you could say,
Starting point is 00:42:15 with our articles. And so there's some HTML code that goes along with that, CSS, all of that. And we couldn't have done that easily with something that wasn't a file-based kind of system um i know there there are some plugins for wordpress for shipping custom css with each article kind of thing um you know and i guess if you're writing a lot in html or other things like that then you know you could use a plug-in and do it in wordpress but again you end up with stuff in the database and if you change something like i don't know there's this awkward relationship on sites like that where you're kind of mixing code design with content and it's yeah not a perfect mix well and, and what's stored in the database
Starting point is 00:43:05 and what's stored on actually in code. Right. And if you don't store it in your Git repository, it's stored in the database, then hopefully your database stores versions of stuff that you work on, but a lot of times it doesn't. And because we can work in pull requests, that can sort of sit on its side
Starting point is 00:43:30 with all the code changes that are needed, and then it can be merged in when SAS 3.3 drops. We'll pull that article over, and it'll work perfectly. But until then, we don't need all of that extra CSS and other stuff, and the site will continue to function. And you were able to pull that additional partial in for that, kind of like you'd mentioned, that art-directed, kind of editorial-style header, the different header.
Starting point is 00:44:00 You were able to do that with just simple front matter. Right, right. different header you ever do that with just simple yaml or a front matter right right yeah the front matter concepts uh pretty pretty powerful you can add whatever you want to it in middleman and um then in your layout or whatever it is that you're you know you can check that front matter and do something based off of that um there are times too, like one of the differences between Nesta and Middleman was that Nesta had the concept of page title. Is this right? Am I remembering this right? Or was that some sort of custom attribute that you put on there? I can't recall.
Starting point is 00:44:39 I think it did have a... The way our stuff was set up was that in Nesta we had in the front matter a title. Yes. Yeah. And middleman by default didn't have that. Sorry. No. The way Nesta works is it grabs the H1.
Starting point is 00:44:58 That's right. Yeah. Yeah. And I didn't like that. It's not in the front matter. And so I had all these articles that had no titles right so so what i did was i wrote a little helper that basically pre-renders the entire html so it gets rendered twice and grabs the the h1 and you know pulls that out as the title for it
Starting point is 00:45:21 and it works it's amazing it's amazing like yeah the fact that you could do that in middleman is pretty awesome to me um that you that you have access to like the whole document you can render it however you want um it's very customizable i like the fact that you were able to do a lot of stuff with um with the urls to like just trimming off things like dot html if you had that and um you know directories with indexes in them becoming you know uh pretty urls and i think we even had an issue with our comments when we first launched the sassway where we had we forgot to put the trailing backslash on there or i think it was on there by default with middleman and we wanted to pull it off because the the previous version of the site didn't didn't handle or didn't have a trailing backslash on the URL and that actually
Starting point is 00:46:16 caused what I said we use for the comments yes yes yeah that's good it caused that to think it was a different page, so therefore it had a different comment stream and we were all just messed up there. But got that fixed. And it's still not technically fixed, but, you know. Yeah, the issue's still open. We're getting
Starting point is 00:46:37 close. We need to spend some time on that on a weekend. Or maybe one of our listeners. Yeah, maybe a listener would fix that for us. You see what's going on here. This is just a giant conspiracy between Adam and me to get you, the listener,
Starting point is 00:46:54 to write our code. Yes, yes. And our articles. Yes, absolutely. You know what? Speaking of that, let's give some shout-outs to those who have contributed to the SAS way over the years. You got me and you who started it.
Starting point is 00:47:11 I don't know if there are any particular – or I'm just going down the contributors list on the SAS way, which is Mario Vicaldi, Mason Wendell, Peter Gaston, who wrote a book on CSS. I think it was something on CSS3 a couple years ago. Really awesome book. I liked it. Roy, not sure how you say your last name. Hugo, how would you say his last name? I do not know. It's French.
Starting point is 00:47:39 So I won't even try then. Gerardel? And then you got Frank S. I don't know why Frank is so elusive with his last name, but Frank S. Well, that was just the awesome thing. Like here's this guy posting from South Africa, and he doesn't want to tell us his last name. And I'm okay with that, you know? Frank S.
Starting point is 00:48:00 Because he wrote an awesome article for us. He's got some more in the pipe too, I think. Daniel M's. Imes. Probably imes probably imes i'm gonna guess and then over the years too we've also had uh chris epstein come and do some technical editing for us win netherland um has done some technical editing for us as well and i don't think either of them really ever planned to write anything um i think chris is just too busy anyways and so is win but they were definitely sass fans of course went in uh win and chris wrote the the book sass and that was it sass encompass in action from um who's the manny i think that's right manny so you know obviously huge fans and you know there's been
Starting point is 00:48:48 several times when we've had an article go out that we're like yeah we need technical eyes on that one make sure that the you know what we were talking about actually does make sense and and they come in and kind of like do some blessing but see we always operated on github before but we just never had it open it was in a private repo and it was, you know, this kind of, so for any of you out there who are rocking out private content-based repos similar to the SAS way, you might want to consider an open publishing methodology because I got to say, man, I think the, the, you know, the new design definitely lends to it being a middleman, being so easy to use lends to it. But I think the future of the SAS way is definitely bright and being able to fork it.
Starting point is 00:49:32 And we even have a contributing doc to kind of guide you through actually contributing and whatnot. And I think we've got some plans even to kind of earmark some different topics for people. Lack of better terms, maybe assignments, so to speak. And if you want to pick it up, you can pick it up. Or bring your own carrot and write about what you want. So I'm pretty excited, man. Pretty excited about it. Yeah.
Starting point is 00:50:01 So I guess following the normal rhythm of doing a changelog show, I know this time is a little tiny bit different than maybe our past shows. But I still want to treat it the same in some respects. So we always ask some cool questions at the end that we're kind of known for. And the first question I'll ask you, John, is if you weren't writing sass what would you be writing i mean definitely css right um i'm so grateful that there is is sass uh i mean or maybe less if less was around i don't know if there wasn't sass would we have stylus um i don't know i don't know maybe i mean so i do other things um as well i i write a lot of javascript i love javascript um
Starting point is 00:50:55 it's probably my favorite programming language these days uh it i would it would have definitely been rub. I love Ruby's elegance. Um, but I don't get to do a lot of UI programming in Ruby. And I think that's why I love JavaScript. It just lets me get in there and make stuff awesome. Um, yeah, I'm not a Hamill fan. Sorry. Yeah. I, uh, I've become not a Hamil fan. Sorry. I've become not a Hamil fan. I'd rather just keep it simple. I'm almost a purist at that point. I'd almost just rather write in the case of a Ruby project like ERB or straight HTML.
Starting point is 00:51:40 Yeah. I like the other ways you can do – I feel like I've kind of turned away from abstractions lately. I like – for the hardcore JavaScript developer who wants to use CoffeeScript, that totally makes sense. I think it makes sense to use it when it makes sense for you and your project and your team. And the same with SaaS and CSS,ss that relationship i feel like at each layer there's some sort of abstraction but with html i just feel like like it was just didn't make any sense anymore for a while i loved it loved the short and easy syntax but after a while it would somehow bite you in the butt so i just got sick of it and uh yeah i mean i had a kind of a similar
Starting point is 00:52:21 journey with him um i mean i know i remember thinking about it in terms of Rails views, and this is technical, but that it seemed to help make our Rails view code cleaner because it forced you to write stuff on one line. And whenever you just inserted a whole block of Ruby code in Hamill, it looks just awful. Whereas in a regular view, you can kind of get away with it looking okay. So I did like that effect. But at the same time,
Starting point is 00:52:57 struggling with indentation and why is it not rendering? I don't know. I've sort of backed away from that. and why is it not rendering? I don't know. I've sort of backed away from that. I've also backed away from the indented syntax on SAS for similar reasons in that it's just not enough like regular web development, I think, to merit making it. It doesn't have enough benefits to merit an entirely new syntax. Yeah, that's probably an easy way to sum up what I just said.
Starting point is 00:53:30 I think that's how I feel. You almost put yourself on an island doing that. And it might be a good island. And like you had said, it might clean up your Rails view code in the case of Hamlet or something like that. But what you end up doing is you get the community kind of going one direction and you're over here in another and you're hanging out in white space aware land and it's just you can't copy somebody else's code from a tutorial
Starting point is 00:53:54 or you can't easily riff or pair with somebody or kind of share ideas. And I think even for when you're collaborating over code, it's like, well, you're using one version of the syntax now i'm using another so we can't we can't work together and that's that's a problem collaboration is really the thing i mean i i already i mean i i just hate that point in any project where you're like well so what's your favorite tool to do this kind of thing you know it's like, you know, I'd rather not have to make those decisions in some ways.
Starting point is 00:54:30 You know, I mean, even less or SaaS or other things like that. You know, I mean, obviously I'm going to choose SaaS. I write a blog about the SaaS, but... The SaaS. But, you know, the fact is, there are going to be some of those battles on every project and i just wasn't willing to fight the hamill battle yes yes that's where i'm at with you i'm right there okay um i guess that was a a long-handed answer but uh totally cool okay so if uh if you had a weekend totally free uh no one to hang out with, nothing planned, nowhere to go, you kind of just got this weekend all to yourself, what open source projects are on your radar that you're going to hack with?
Starting point is 00:55:20 Could be something new, could be something you've been wanting to play with for a while but just haven't had the time. I mean, I've been doing a lot of work with Backbone lately. I have a friend who's a big fan of Angular, and I would love to probably do an app in Angular just to get a feel for how that works. Angular seems to have a lot of promise of it's sort of an unstructured it has structure but it's unstructured in a way that like i feel like maybe ember ember js is a little too structured um in terms of what it and too opinionated in
Starting point is 00:56:02 terms of what it what it does and Backbone is like the reverse of that. It's like no structure. And how do you do stuff in Backbone at all? Oh, I've got to write my own. It's like writing Rails sometimes. You have to write your own big chunks of the framework in order to get it to work. And Angular seems to, I don't know, a little bit more of the right balance.
Starting point is 00:56:28 I like their templating stuff. So I would probably, if I was doing a new app, I'd probably work with Angular. That would be one thing. I would be interested probably in using SUSE in SAS on a project, get a feel for it. I have heard some great things from Eric about SUSE 2. He's been working on. SUSE is going to be one of the oldest, I guess, we used to call them grid frameworks,
Starting point is 00:57:04 and now they've become just bootstraps or frameworks or, I don't know, CSS frameworks. Like it started out as a grid, and it was the one that was, I think I have the story right where it was based on somebody else's ideas, but it was written specifically with SAS in mind. Yeah, well, I think that SUSE has been the enduring good framework in SAS. Yeah. It's been there through all the iterations of web development,
Starting point is 00:57:33 like pre-responsive, post-responsive. Right. And I think that, like, and I'm a big fan of a very modular approach to writing your CSS. So, like, for the SAS way, we're using Foundation's grid framework, actually. So, spend a little bit of time and rip that out so that, you know, we could use it. Because I like, one of the things about Foundation is that it has this this concept of for the responsive side of things like three different view you have like your desktop you have your tablet and then you have your phone view essentially and um you can put these classes on
Starting point is 00:58:17 things to to size it and as a basic default grid framework it's amazing but what where like suzy like to me has some advantages is in allowing you to just kind of go hog wild and crazy in the way that you implement your your framework like it has no requirements about like class names that you have to use or um it's all mix-in based then it's it's um it's all mix-in based uh you know i think he has some like generators to make it easier for you um but you can use it without using those grid classes which some people like um about it i feel like you could use suzy to kind of create a custom custom work for your website. So I'm very interested in it from that way. But again, I mean, I haven't seriously used it.
Starting point is 00:59:10 We're using it on one of our user voice sites right now. So I've sort of seen an implementation of it. But yeah, I definitely think there's more to investigate there. Seems like a great framework. So Backbone, you're a fan of. If you had a weekend free, you'd be hacking on Angular because you want to play with that, and you've heard lots of good stuff about it.
Starting point is 00:59:36 And if your front end would use SUSE. Yeah, I think so. And so let's talk about maybe just elongate that for maybe one more minute, Yeah, I think so. which is it compass agnostic or is it not? It's a compass extension. It's built on top of compass. And the main reason to do that is that you can basically package it up as a gem, your extension as a gem, and then compass can load it from that gem.
Starting point is 01:00:27 Whereas if you use something else, then you end up in a scenario where you dump your styles, the styles from that thing into a certain directory, and then you have to figure out the loading yourself. So the Compass extensions, it is a true compass extension in that regard yeah so you kind of got some hurdles to hop over
Starting point is 01:00:52 to hack with Angular and use compass Ruby based gems potentially or at least be both sides of the fence right yeah it seems like a lot of SaaS stuff is being distributed over Bower, like with JavaScript.
Starting point is 01:01:08 So depending on what the backend is, I might end up using, I don't know. That would be interesting. Well, when you cross that bridge and you get that weekend, you let us know. I'm pretty sure that's what I want to know.
Starting point is 01:01:23 All right, last question for you then. This is a fun one too. So I i mean feel free to think on this one for about a half a second but who would you say is let's let's open it up for you since you're a designer and developer who is you know like your web hero you know who who is someone that has kind of like either guidance to you, maybe it's somebody who taught you early on, somebody took you under their wing, could be whatever, could be a past school teacher that might have inspired you, but who's someone you would consider a hero to you in terms of web development? I mean, it's probably, I mean, there's definitely a bunch of people in my life in that way. Different co-workers, bosses, that kind of thing.
Starting point is 01:02:21 In terms of a inspirational kind of person, I would probably have to go with, uh, Sean Inman. Um, and what he's done in sort of, Sean does design and development, uh, and he's built his own products and that's kind of the intersection of like all of the things I love. So I admire him a whole lot. I would love to do exactly what he's doing right now, getting into game development. I don't know.
Starting point is 01:02:58 It seems like I'd love going over to his blog and looking at what he's working on. So, I mean, he's definitely one. Yeah, I mean, so many web heroes. Douglas Bowman, used to be a big fan of his. I can remember when I was working on Radiant, the way that he had built his site, like I tried to make Radiant so that it could do a site like his really easily. He used to curate links on design and books and all of those types of things.
Starting point is 01:03:29 So I wanted Radiant to be able to make it easy to curate those lists of things. And it did. So, yeah. I don't know. It's really interesting. When I first got into web development, there were all of these guys that I looked up to. And it seems like some of them are not as active anymore in communicating. Nobody blogs anymore, I guess is what it is.
Starting point is 01:04:02 Everybody microblogs. It's the Twitter thing, you know. Everybody's there. Yeah, Twitter. You know, it's kind of changed. I mean— Well, you know, you said Douglas Bowman. So he used to blog a lot, and he doesn't blog much anymore.
Starting point is 01:04:19 And I think Sean Inman did as well. And I think that was the rage. That was the way we kind of originally began to social network, you know, and then since then, actual social networks with following and actual lists, not blog roles in your sidebar sort of took over that, you know, replace that older model and people, they, they, you're right, they do blog a lot less. I think before we kind of had to, to get our opinions out there, whereas now there's different ways we can share our opinions like on podcasts and stuff like that. But, uh, Sean Inman, I think he's been mentioned at least once before for sure as a, as a hero on the show. And I gotta agree. I'm huge on him and fan. Um, I think I can't even imagine how awesome that guy is to be able to design, code, think through products, and he's a game designer. I mean, he did that – I forget what the project was called. I think it was called Retro Something on Kickstarter. retro something um on kickstarter he and i think two or three other fellows were doing like really
Starting point is 01:05:26 quick iterative game design where like they'd do a game a week or something like that or a game a month and it was i i backed that and got the t-shirt to prove it but uh literally got the t-shirt to prove it um that wasn't just a joke or something to say but i think he's an awesome guy man like i think he is just really talented and it's those kinds of people that man you just wish they shared a bit more yeah seriously doug why are you not blogging anymore i don't mean like you know why aren't you blogging every day but like you know they've got such insights to like um you know doug is a really really blessed designer he's had a really great track history of great design, everything from the version two, I think, which is kind of forever ago of Wired and a number of other redesigns that he was a part of. And now he's leading design at Twitter and he's part of the team that's responsible for all the new great ways Twitter is rolling out their design.
Starting point is 01:06:23 I don't mean share like that. I mean share some of their wisdom. Yeah, I mean I think it's definitely a season thing for a lot of those guys. I mean it's hard to be in the public spotlight in that regard. I've heard that about Sean, that, um, he never really expected to become one of the web gods. And, uh, that, that he's, he's really a, you know, kind of a quiet guy in that regard, humble person. Um, and talented but um you know just wasn't expecting to be in the spotlight and i don't know i yeah but the fans we guys we want to know we'll have to get sean on the show because i mean i know that he's uh i'm not sure how active he is in open
Starting point is 01:07:22 source but um we'll have to get him to at least release something open source so we can get him on the show. It's kind of like par for the course. You have to, you know. Oh, you have to release something open source. I mean, you know, it's the changelog, you know. Ah. Open source moves fast. Keep up.
Starting point is 01:07:41 Yeah, so we need a new show where we can we can just interview interview our our heroes here well you know to to speak on that i mean i think one of the things we want to do here um is i would like to do i would like to have more shows but the the problem that comes into play is is the same reason with open source you just have only a limited amount of time and so i've just tried to like bite off only as much as i can chew because if i i want to do everything i do to excellence you know i don't want to like half butt anything yeah i kind of get that i i do wonder about like a special feature though or something i don't know yeah something something to think about we'll special feature though or something. I don't know. Yeah.
Starting point is 01:08:25 Something to think about. We'll do it though. I mean, cause it's actually an idea I've wanted to do, which was just take the show that we have here. Cause it's pretty popular. It's on five by five. You know,
Starting point is 01:08:39 everyone who listens to it, loves it. A lot of people write in and say it's their favorite show. And I appreciate everyone who does that i mean it certainly lifts our spirits and keeps the team you know motivated and whatnot but um i'd like to expand a little bit more on the show and do something a little different i think the show is great we have people on we talk about open source and it's kind of got this rhythm but i kind of want to break it up and do not so much more shows, but like different segments, you know, not always do the same exact show every time.
Starting point is 01:09:10 Yeah, I mean, I think there's something along the lines of like the, you know, you have the news every night, but then there's like the morning show and, you know, other things like that. Exactly. You know, there's there's got to be room to kind of branch out a little bit we're gonna long story short we're gonna we're gonna um play with that idea a bit more but uh no promises we'll see it's on our uh it's on our to-do list of thinking through that's for sure but yeah you know john it's been great having you back on the show. I think that in all ways that you contribute to open source, I know that I've certainly learned a lot from you. You've been a great friend over the years and working with you on the SaaS way and all that it's going to do in the community. It's just looking forward to where we're taking that. And I think, you know, we'll say it here just because I know we're going to do it soon, but we've talked about SAS Weekly
Starting point is 01:10:09 or some sort of weekly newsletter we're going to do. So we're starting to execute on that as well. And that'll be open as well, the same as everything else is. I'm really excited about the future, man, for us. Yeah, me too. Very, very excited about it. And yeah the the sasway.com go there um github.com slash the sas way got a couple repos there we've got our identity repo there if you need to use a logo uh by the way we didn't even get to mention that but berman painter thank you
Starting point is 01:10:40 so much for your hard work on sass's logo and then subsequently our our inheritance of uh of your skills to rock out the sass way and then i guess you john for your tweaked version of it right your tweet version is a little bit different than berman's but using his art so it's good stuff yeah verman got it going for us and um that i i sort of put together the final uh part of it but it's his brushstrokes that are amazing but yeah the sasway.com github.com slash the sas way if you want to fork the repo and share your thoughts open an issue if you just want to chime in with us and say hello, I mean, issues don't have to just be problems. They could be ideas. Say hello.
Starting point is 01:11:27 And we'd love to hear your thoughts on what gets you excited about SAS and writing CSS the SAS way and just what gets you excited about design. So share your thoughts. But I also want to give a shout-out to our sponsors of the show, Digital Ocean and Top Towel for supporting the show. We definitely love you guys. DigitalOcean.com and TopTowel.com. T-O-P-T-A-L.com. Somebody wrote in and said, I'm not sure what you say when you say Top Towel, Adam.
Starting point is 01:11:56 Is it top like towel, like a bath towel? And I'm like, I can't help it. They got a hard to pronounce business name. It's Top Towel. T-O-P-T-A-L dot com. But yeah, John, thank you so much for for joining us today on the show. And thanks so much for all that you do until we hear from you again. Let's say goodbye for now. OK, thanks so much. you

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