Adam loves a good dark theme and supporting a fellow creator, and Hedy Li finished the episode we did with Nikita Prokopov covering FiraCode and reached out saying Zeno Rocha’s work on Dracula deserved the same credit. We agreed. So we linked up with Zeno about his passion for open source, how he’s changed his mind on making money with open source, his big release of Dracula Pro and the future of Dracula, and of course his new book – 14 Habits of Highly Productive Developers. Check for a link in the show notes for details on how to get your hands on Zeno’s book for free through our giveaway.
Tidelift – The first managed open source subscription helps you develop apps with components that just work—including comprehensive security updates, active maintenance, and accurate licensing. And the best part of all—with the Tidelift Subscription, you help open source maintainers get paid for their work. Learn more at tidelift.com.
Giveaway details!! Check this blog post for all the details to win a free copy of Dracula PRO && 14 Habits of Highly Productive Developers
- The open source Dracula Theme
- Dracula PRO - a color scheme and UI theme tailored for programming. Made for terminal emulators, code editors, and syntax highlighters. Designed to be aesthetically pleasing while keeping you focused.
- Book: 14 Habits of Highly Productive Developers
- Kindle Direct Publishing
- The Changelog #398: The ONE thing every dev should know and other words of wisdom from Jessica Kerr
- The Changelog #399: Shipping work that matters ~ revisiting Shape Up & product development with Ryan Singer
- The Changelog #248: Open source lessons learned with Zeno Rocha
- The Changelog #77: Solarized and Linux on the Desktop with Ethan Schoonover
Click here to listen along while you enjoy the transcript. 🎧
Zeno, we’re back, man… We’ve got you here - it’s been years, I think…
Yeah, I don’t even know how many years, but it’s so good to be back.
We started with lessons learned the last time; we were talking about open source lessons learned, and you’ve got a really interesting story. I recall you being in the hospital, or something like that, when you created Dracula… So we were talking about Dracula, making money in open source, and your thoughts on that, this Dracula Pro thing that’s kicking butt out there, this book you’ve got going on… Yeah, so much going on.
What has changed with your idea around open source? Dracula Pro is obviously a money-making thing, it’s a profit thing for you… When we talked before you weren’t really into making money with open source. What’s changed?
Man, I always hated that idea of making money with open source, and looking back now, I think “Oh my gosh, why did I even think about it like that in the first place?” I think there’s always this distinction of “Oh, open source is like everything free, and that’s it”, and the opposite of that is “Okay, let’s make money, let’s sell.” I always hated salespeople, that sort of thing. And what changed was actually curiosity; I think that’s the best way to describe it.
Back in 2019, at my regular job, my 9-to-5, I wanted to learn more about sales and understand how the business worked, and I was like “Yeah, I can read some books, I can try to figure out how the sales pipeline at my company works”, but I think the best way to learn is by doing it yourself. So I looked at all my open source projects, and I received an email from the Google Search Cosole, with all the sites that I have on my analytics, and I saw there was like a million page views on the Dracula site… And I was like “Oh my gosh, there’s something here.” So I decided to take a shot on that project in particular, and that’s how it all got started, like “Okay, I’m gonna try this sales thing work, and if it works, great; if it doesn’t, that’s fine. I’m gonna survive.” It was pretty much like that.
[04:14] I think people have a misconception what sales is. I think that’s why people hate salespeople. There’s some really bad ones out there; sales really is just a value exchange. Solving problems, helping people. And I think we get this sort of misconfiguration of what sales is, and we’re like “I don’t wanna be that icky person.”
Yeah, I think the stereotype of a salesperson is one who convinces you to purchase something that you don’t want or need… And that is where the icky comes in, because it’s like “Stop pushing this wares on me, man. I do not want to drive this car home, I’m just here to waste an hour”, or whatever the context is. So I absolutely understand that stereotype, but like Adam said – and that’s the difference between a good salesperson and a bad salesperson. A lot of times they’ll say “Hey, it’s all about the product. If I believe in the thing, it sells itself.” The best salespeople are working on the things that sell themselves, because that’s how you have success in sales. You can’t sell something that nobody wants or that you don’t believe in.
Which makes sense for Dracula being, I guess, “easy transition”, if we were to talk about the easiness of it… But a million pageviews to DraculaTheme.com… That’s pretty interesting.
People want it.
Is that in one month, or is that like for a year? What’s the timeframe?
Yeah, that was for the whole 2019. And I was like “Okay, I think we can do something about it.” I started thinking “Okay, if I were to sell this somehow, how would that be?” I don’t know about you guys, but I’ve never seen anyone selling a code theme before, so…
No. I think you might be the first one.
…so I was like “Okay, this is gonna be pretty insane. Nobody pays for that. This is free, this is all open source, so how can I turn something that everybody uses for free into something that actually adds value?” That was my whole mentality back then.
That’s a great question.
Yeah. What did you land on?
Many interesting points. The first one was the product itself, what people are actually using. When I started Dracula, I picked some random colors that I liked, and that was pretty much it. This time I was like “Okay, let me truly understand how colors work. Let me read some books, read some papers about color theory, how to assemble different color pallets…” There’s so many different ways to think about this, and this is a topic that designers like a lot, and they know a lot about this. I didn’t know anything about this; but like any programmer, it’s like “Okay, let’s learn.”
So I started learning about that, and I was able to do something that felt good, and that was mathematically appropriate and made sense. And then from there I was trying to think “Okay, how can I really cause some sort of transformation in people’s lives?” Because I can do all these nice colors for your Vim, for your VS Code, for your iTerm and your terminal, but how can that really make a difference in your life? That’s when I started thinking “Okay, maybe if I put something like a book, some sort of eBook that I write, maybe this is gonna add that value. So I was just trying to assemble pieces.
Another piece is fonts. If I look at the most interesting fonts out there, and there’s a whole trend in terms of ligatures - okay, that’s another interesting point. At the same time, I was looking at Apple, and what Apple was doing… And there was pretty much two trends that I saw Apple doing. One was having their Pro products - AirPods Pro, or anything Pro, the iPad Pro… And also, they’re going heavily on dark mode - okay, that’s another interesting point. And another trigger for me maybe was the fact that I saw other people making money with Dracula, that was not me.
We were doing like a keyboard with Dracula key caps…
Okay. And they were selling them?
Yeah, they were selling them, and I think the broke a record of sales; one of the companies sold more than a thousand keyboards, and I was like “Oh my gosh, people are making serious money with Dracula, and I’m just here sitting around…” [laughter]
“…and I’m not doing it.”
“…and it’s not me. Oh, no…!”
“…and I’m not getting a cut!”
Yeah, I guess so… But there were a lot of triggers–
You didn’t email them your royalty program?
No, it was my fault… It’s MIT, so you can do whatever you want…
Right. You could have written some sort of lawyer-esque thing, just to see if they’d fall for it… Like, “By the way, you owe me the money.”
Interesting. That’s funny, I didn’t know that part of the story…
I didn’t, either.
…keyboards, and other people are making money off of it.
Was it just the logo of it, or what did the keyboards do differently that made them Dracula keyboards?
Just the colors, and then other companies – do you know the Bear App? The note-taking app called Bear?
Yeah, I’m familiar with Bear.
Yeah. Like a bear.
Like the animal. Okay.
So if you wanna have the Dracula theme there, you have to pay. They have this paywall for themes. So another company making money out of that, so I was like “Okay… My turn now.” [laughter]
So people must really love the Dracula theme. When I go under the themes for an editor, there’s tons of them. I think Solarize is one I land on quite a bit; they have a light and a dark. Dracula I see sometimes, and everybody that talked about Dracula loves it. I’ve never actually given it a try… Adam, I know you’re a user, and even a Dracula Pro person over there… What is it about Dracula? Is it you just landed on the best colors there are, or why do people love it so much, from your perspective? What do people tell you about it, Zeno?
For me, I think it’s the fact that it’s cross-platform, and it’s everywhere. When I started the theme, it was because I wanted to have on my terminal, on my code editor, on my browser… And I miss that unique experience. So I truly believe that there’s a huge cost when you’re switching contexts all the time, and I think by having a natural transition between different applications, your mind is still there.
This is one of the reasons why developers hate JIRA so much, and they love GitHub issues - because their code and the issues are in one place. But if they have to switch to JIRA - “Okay, now I have to think about that”, and JIRA is not good in so many ways.
Yeah. It’s not the only thing they don’t like about it, but… Point taken.
Well, maybe from a user’s perspective, Adam, what is it about Dracula that–
For me - I like dark themes. There you go. It’s too easy.
I happen to use editors that are supported…
You’ve got a personal attachment to it, yeah…
For Pro though, what I think was really interesting was being able to go beyond a text editor. So I’ve got my Alfred themes in that way… So I think, if you rewind a little bit, what I like is the story, the idea of Dracula… And I also like Zeno, so it was easy to say “Okay, well, he’s got this thing. I’m sure he’s been working hard on it. I’ve used Dracula in the past for free… I might as well find a way to support him as a maker and as a person I’m a fan of… And I also enjoy Dracula.” I now use it in code, I use it in – you’ve made it really easy to use in Oh My Zsh; [unintelligible 00:11:50.29] and then the same with Alfred. So in my terminal, in VS Code and In Alfred, which is – I don’t know how to describe Alfred. If you don’t know what it is, check it out. I think it’s AlfredApp.com, or something like that… But all those themes are themed with my preferred version, which was Van Helsing. That’s my flavor. I like dark themes… So that’s me.
[12:17] Cool. So what did you land on in terms of the pricing structure, and how that works out, and the details there? Because I noticed it doesn’t seem like it’s monthly or annually…
That’s a great question.
I wonder why you chose that.
Yeah, so another thing that I started to pick up - when you look at your behavior as a consumer, you can already identify some patterns… And I think one pattern that we all have right now is having this burnout in terms of subscriptions. There’s always a new subscription, there’s always a monthly plan, and now we are all going to these budget apps so we can identify those missing subscriptions that we forgot…
That we’re not using anymore, yeah. We’re still paying it, but we don’t use it.
Exactly. And I was like “Okay, I don’t wanna do subscriptions”, even though I think it’s the best pricing model ever. I truly believe it. I didn’t do it because I don’t think it’s good. I actually think it’s way better than what I landed… I wanted to give it a try, so I decided to set on a one-time payment, and see what would turn out from that.
I first thought about two different strategies. I said “Okay, let me do one application for $9, and I do ten applications for $49.” That was my whole idea. Because the reason why people use Dracula, besides being a nice dark theme and all that, is because it’s cross-platform. So they ended up going to the $49 just because it has all the apps. And if someone can’t pay $49, then they just go for the $9.
So I thought about that, and on the day before I launched I was talking to some friends, and he said “Do you really think that the transformation that you wanna cause on people’s lives is gonna happen if you do the $9? And what about the support of that? How much more support do you need to provide, and do you think it justifies the $9?” And I thought a lot about that, and I said “Yeah, it doesn’t. So I’m just gonna go with $49.” I know it’s expensive. If you live in the U.S, it’s already expensive. But if you live in other countries, it’s super-expensive… And I said “Yeah, that’s it. If you can’t pay, unfortunately, that’s totally fine. You can still use the free theme, with more than 100 applications supported.”
So I landed on that, and that was my goal. When I launched, in February 11th, I think in the first three days it already hit – I guess the first day was already $3,000, and then the first three days, 7k, and then the first two months I think 20k… And then right now, I can actually check, to give you the most accurate number… So from February 11th until now, which is like four months, or something like this - $46,880.
That was something completely crazy. When I see these numbers, I’m like “Okay, there’s probably something wrong.” [laughter] Maybe there’s a bug in this system, or something…
Yeah, who wrote this system…?
But Adam said something really nice - I think people wanna support makers.
They truly believe that if I do my part and everybody does their part, everybody ends up with a better product… So I think there’s a big part of that, too.
[16:02] Well, I wouldn’t undercut the idea of story. I mean, who doesn’t want to use the variant called Blade, or Morbius?
I mean, when you’ve got Dracula, you don’t just have Dracula–
I saw there was a Buffy in there as well…
So there’s Blade, Buffy, Lincoln, Morbius, Van Helsing… And I think that’s just super-cool. You’ve wrapped this emotion, this story into it, and I think that’s where people underplay the value of story.
And even more so, the back-story, you personally, but then the story of what this is, and the idea of the color concepts, and stuff like that; the science behind some of these things in terms of geometric color palettes, and circle of hue, and modern color theory. This is a lot of stuff you’ve put a lot of real work into… Not that Dracula wasn’t. The work was really the support of the different themes. As you’d said, you had already just picked colors you liked, rolled with it, whereas here you’ve taken a more concerted effort towards color, themes, names, story etc. There’s clearly some value here. I wouldn’t undercut that, personally, so don’t do that. You’ve put some work into it.
Yeah, for sure. While we’re on pricing, you mentioned how the price is expensive even in the U.S, but you go to other places around the world and it’s exorbitantly expensive, and not even approachable for some people… I learned something recently from Quincy Larson from FreeCodeCamp; he was on the JS Part podcast, talking about pricing parity around the world for conference access… And there’s a thing called the Big Mac Index, which I’m not sure if either of you have heard of it, but it’s pretty cool. It was done by The Economist back in the ‘80s, and they’ve been tracking it ever since.
It’s basically a survey or a way of tracking purchasing power parity - which is a great acronym, or alliteration - of different currencies around the world, but using McDonald’s Big Mac as the reference implementation. So what would a Big Mac cost in this country versus that country. And people are starting to use this to price their software differently, depending on where you live… Which might be a cool idea for something like this, especially if there’s people that wanna support you, they want to have the cool Dracula Pro, but they’re just priced completely out. You might end up making more money by giving access to more people, by pricing it according to people’s locale. Just a thought.
I love that concept. It’s probably the number one item on my to-do list.
Is it really?
Oh, that’s cool.
I already saw there’s npm packages for the purchase parity power (PPP) concept.
The PPP, yeah. Awesome.
I love that. If we adopt that as a collective community, I think it’s gonna help tremendously. I’m originally from Brazil, and I know how it feels when you see all these nice products, but then it’s in dollars, and when you convert, it’s five times, and you’re like “Okay, I can’t have it.” So then what happens - people just go and pirate that, and that’s not what you want at the end of the day.
Well, I think it’s a sign of respect too, to do price parity. You’re right, Jerod, I hadn’t heard of this… I do recall Quincy referencing it, but I hadn’t heard the back-story of what the Big Mac index is, and what that represents… But I think it’s a sign of respect, if you have a product and you can afford to do that; I suppose you can’t not afford, if somebody’s pirating your thing, if it’s a digital product, or something like that… But if you respect your audience, and if you have a global audience, then you will consider this, because you’re sort of like locking them out by being just one way… U.S.-centric, I suppose.
Yes, exactly. It’s about inclusion… It’s really empathy, because you are just considering people that you are directly around.
It’s usually just merely ignorance or lack of thought about other people that leads us to this style of pricing. Those who are in the U.S, we all are guilty of it, in some way or the other. I think especially when it comes to conference access, especially these virtual conferences, it’s huge, because the marginal cost of adding one more person to a virtual conference is pretty much zero. The bandwidth cost is it.
[20:09] With physical goods is harder, because your cost of goods sold isn’t gonna go down, because you’re selling it into that country. Maybe if you can manufacture it there, there’s all sorts of other concerns. But with virtual goods, the marginal cost is zero; you’re really just missing that sale, if you look at it as a sale… And that person’s missing their opportunity to access your conference, or to use Dracula Pro, and they’re gonna turn to other means if they really want it. So I think we’re gonna see more of it. I think it’s a great thing.
This isn’t a show about this topic in particular, but I’m curious how you do it though… How do you determine where they’re at and then price them appropriately? That’s the hard part, probably. Translations. I don’t wanna translate this into a language that seems like it’s native because your IP says you’re in Poland, or something like that, and assume… I want other things to give me that data. How do you do it in a way that’s fair to you as well, and not let people –
Right. Game you?
…rip you off.
We’ll start seeing reverse VPNs… Everybody’s VPNing so that they can watch Netflix from a country that’s not the United States…
Based on the Big Mac Index…
Now we’ll be like “Here, we’ll give you the VPN where you locate from this country, that has the lowest purchasing power.”
I guess there’s always the honor system though, and that’s what a lot of people operate on.
Yeah, I mean, they could select where they live… Especially people purchasing Dracula Pro, or attending a conference - just the honor system, where do you live… And if they’re gonna rip you off, then they’re a jerk and they rip you off.
I don’t know, Zeno, how do those npm packages work, do you know? Is it based on their locale, or just IP address, or…?
Yeah, [unintelligible 00:21:40.16] on your server, they detect your IP, based on that they give you a certain percentage of discount that you can apply. So if you’re connecting with some payment system, you can set up different coupons for different countries. So if you are in Brazil, it’s like “Okay, 57%”, if you’re in India it’s another percentage… So that’s how it usually works. But yeah, you can just enable VPN and pretend you’re there, right?
Maybe going back into Dracula in particular - so when you went away from… And correct my language as necessary, but when you went away from – but you’re not really going away from the open source… Is Dracula Pro building upon the MIT license? How is this based on original code licensing? How did you manage being able to sell it and do what you do and license it? How does that work?
Yeah, license is a very tricky subject, and it’s not something I’m a huge expert on, to be honest. I wanted to keep the open source version, and I still maintain it, I still improve it. Even today I was reviewing a theme for Adminer; I don’t know if you heard about this database manager, but anyways… And for the pro version I tried to do something around the number of computers that you’re using. That was the thing that felt the most appropriate. So you can use it on three different computers for your personal use. If you buy one copy and you share it with your whole company, you’re violating the license… But that’s pretty much how it works.
Yeah, licenses are tricky, and it’s a shame you have to be a lawyer or an expert to use them properly. I mean, I guess you don’t have to be, but you might wanna know a thing or two at least.
Yes, that’s right.
So do you consider Dracula Pro a finished product? Are you continually maintaining it? With subscription models, the idea is I continue to work on it, you continue to subscribe; value exchange continues, it makes a lot of sense, it scales better for the maintainer… But if Dracula Pro is pretty much done, and you just sell these licenses to it, it works out pretty well for everybody. Are you still toiling away on it?
[23:55] Yeah, there are a couple of ideas that I’m working on. Number one is the number of supported applications. On the open source version, there are 107, if I’m not mistaken. And on the pro version it’s only 14 or 16, something like this. So I still have a long way to go to catch up with the open source; I think there is a long road over there. And in terms of how I’m gonna distribute that, what I’m doing so far is trying to overdeliver. That’s my strategy. I launched with 9 or 8, and I’m overdelivering with these new themes for free. So I just say “Hey, here’s a new theme for free. Here’s a new theme for free.”
At some point I might do some sort of extension packages, like video games in the past, where you buy version one, and then – I don’t know if you played The Sims. So you buy The Sims, and that’s the game…
Okay, Sims 2…
…and then now you buy the –
Expansion packages, yeah.
Yeah, the Pets package, and so on… [laughs]
Exactly. So that’s one path that I could go. But I’m okay with just expanding and keeping the price as is as well. It’s not something that I – I’m not too worried about that right now, to be honest.
Well, one thing that you can think about - and others can think about this too - is when you think about sales… You said recurring. You’re against – you didn’t wanna go down that road, because… Recurringitis, for example. But that doesn’t mean you can’t have multiple launches, like you said, or expansion packages. Or when you expand – you know, it’s up to you to determine if there’s been enough work to warrant new money from a previous buyer… You’re not selling a lifetime license, right?
So to be clear with the audience buying - I don’t feel like I’ve bought a lifetime license. I feel like I’ve bought the current 14 themes, the variants, or whatever, but if there’s a new special variant out there and I’m like “I’ve gotta have Killer Bob”, or I don’t know, what other name could you have that comes off of Dracula, I don’t know. Maybe Brad Pitt, maybe Tom Cruise, just named straight up. One of the most famous movies out there ever, when it comes to vampires… But you know, I might be lured in to buy that, because I see value there. I don’t mind rewarding you with dollars.
So just putting that out there, to think - even though you’re not going down the recurring dollars route doesn’t mean you can’t have multiple launches, or more launches in the future.
As you said, with expansion packs, or other ideas. I think if there’s more work, more value, then it warrants new money, in my opinion.
Yeah, that’s great.
How does this play into your passion for open source Dracula then? How do you balance and maintain your own mindspace between the two? Are they two distinctly different things in your mind? Are they one thing? Does one feed the other? How do you share that in your mind?
When I started - I think it was like seven years ago, something like this… And when I was on the podcast, telling the crazy story of how it started, there was a lot of moments throughout these seven years that I wasn’t motivated to work on the project, and I’m just like “Okay, I’m just gonna keep this alive, but I’m not super-active.” There were other moments that I was super-active… But it was like a rollercoaster, to be honest. And now that I have this premium version and something that is more sustainable, it actually gives me much more energy; it justifies all the investment that I’m doing in terms of time.
So when I’m working on the open source version, for me it’s like I’m working on Pro. There’s no distinction in my mind. There’s more distinction when there’s something related to communication, marketing, that sort of thing… But this is one interesting point for all of you who are listening right now, and you have an open source project that you love, that side-project that you really wanna maintain, but you don’t have time because of work, family, friends, all that… And when you do that, it gives you that power. It’s like “No, this is working. People are using it.” You are being rewarded by your work, and now you can actually even spend more time… People are super-crazy about Dracula, so maybe I can do some T-shirts, merch, stickers around it. There’s so many ideas… And because you have that power, now you can spend more time on it.
[28:20] So I would really recommend trying it out, even though it’s really hard adding all of that value that Adam was mentioning… Man, it takes so much time, only on that landing page. I’ve spent a lot of time thinking about the content; what is the story that I wanna tell? How do I justify – why would someone open this and think “Yes, that’s for me. I’m willing to spend the money.”
Has anybody followed in your footsteps, because you definitely broke new ground here. As you said, there weren’t people selling themes. Has anybody come behind you and said “I’ve got a theme everybody loves, and I’m gonna offer a pro version”?
Yes. There’s actually one person who reached out to me, and he has a theme, it’s called Shades of Purple. He didn’t launch yet, so maybe – I don’t even know if I should be mentioning it…
Maybe you’re launching it for him right now… [laughs]
But it’s a really nice theme as well, and I think he’s probably going in that direction. And I think other friends - they reached out and got inspired by that idea, of turning their open source projects into a paid version. I have a friend that does a Mac application for you to pretty much enter a presentation mode, where you hide all your desktop apps, you block all the notifications, and now there’s no distractions, and you can present whatever you’re presenting. It’s an app called [unintelligible 00:29:43.02] and this was something – very similar, the way he structured both his offer, and the landing page, and all that. We talked about how to do the pricing, what are the different variables you can think of… And yeah, it was – I think some people are starting that as well, and I think it’s a great thing.
You mentioned Solarize, Jerod - that’s the only other theme or color scheme I can think of that’s been of similar popularity. And Ethan - we had actually had him on - geez, way back when… When was that? Let me look real quick… 2012.
March 30th, 2012. This was episode 77.
That was before Zeno started Dracula, because he started it in 2013.
Yeah, I don’t know anybody else, like you said, that’s doing themes and that has that popularity and hasn’t converted it. And what I mean by converting it is like - is there an opportunity, whether you want to or not, an opportunity for resentment. Like, your time - I could just think of how many hours Ethan must have poured into (and still pours into) Solarize. Not that he hasn’t gotten value and I have no idea what the full story is there. I’m not trying to speculate, or trying to assume, but just speculating; I’ve gotta imagine that somewhere along the line – and that’s what we hear here on Maintainers Spotlight, is that we see people that want to support their work, and if not rewarded in certain ways, not so much just monetarily, but rewarded or appreciated, there’s opportunity for resentment, and you’ve gotta find a way to find your reward. And if it’s not money or some other way, you’ve gotta find something that sustains your soul, to keep doing the creativity and making the make.
I totally agree. I think when we are young, we usually just think about how much happiness that project brings to you, and that’s a huge factor, huge variable. But yeah, as time goes by, there are other priorities, other things you have to take care of… And if you can diversify your streams of income… Like, “Okay, I have my job, it’s paying well, I’m happy. I don’t wanna leave my job at all.” But if I can generate new streams of income with something that I love - man, why not?
[31:52] One other thing that you’ve got (it seems like) a small passion for; I can’t tell, you’ve only included four… But in Dracula Pro you’ve got four hand-picked typography options: Cascadia, Firacode, Jetbrains Mono, and Vector Mono. Now, I’m only really familiar with Firacode, because hey, we have a Maintainer Spotlight coming out pretty soon with Nikita on that subject…
It’s on the feed now, as this one goes out. That one will be the previous Maintainer Spotlight, with Tonsky.
Yeah. In fact, I had never said the word “ligature” on the Changelog until last Maintainer Spotlight, and we’re gonna probably say it again here… Because ligatures are a big part of Dracula Pro, aren’t they?
But you decided to include these four with Dracula Pro. What went into choosing the right typography? And side note - anything you wanna share about Firacode?
I think you like that a lot.
Yeah, I love Firacode. It’s actually the font that it’s being used on the site. There are a lot of peripherical things around your code editor; I think a theme is one of them, fonts is another, plugins is another… And I was trying to look at everything that composes that. I didn’t use ligatures before, and I wanted to give it a try. For those who don’t know what this means, it’s pretty much when you have different symbols and you use them on your code.
The whole premise of that is that you transform those multiple symbols into just one character. For example, if you wanna do ==, instead of putting two equals as two characters, it combines as one character. So when you’re reading your code, it’s easier. That’s the whole point - it’s easier for you to scan. Of course, it depends from person to person. Some people hate ligatures, some people love it and can’t live without it, so…
It’s definitely a love/hate thing. There’s some people who love it, some people who hate it, some people who are against it… We debated that quite a bit on that show too, we were like “Characters replaced…” Now, the good thing is that in the actual text it’s just a ligature replacement, not a text replacement… So that’s helpful. And when you backspace, you’re getting back to original characters, but it’s just simply a presentation layer thing, versus a replacement text thing.
Yeah… And those were the four fonts that I’ve found, that fit Dracula Pro better, and they had ligature support. I tried many others, but it didn’t feel right… And also, I’m really passionate about fonts, so maybe one day we can have some Dracula Mono, or something like this. I would love to collaborate on a font for Dracula. I think it will be really awesome. [laughs]
Well, that just shows the opportunity, I suppose, with the idea. Clearly, somebody else had already taken that step by making keyboards themed, based upon your Dracula colors… But this idea has more legs; there’s an opportunity for open source to be a gateway for a maker to make money, still keep Dracula out there open source, free for all, maybe potentially share a variant, or somehow eventually merge the two somehow, to have a free version and then a paid version… I’m just saying, there’s a lot of opportunity to really take this and establishing a Dracula code typography or font face out there; it would be super-cool. It’s just one more way you can extend this super-cool idea.
Yeah, I would love that. I can’t even imagine – seeing the dropdown when you select fonts, and then seeing a Dracula Mono there… Oh, my gosh. That would be amazing.
The conversation though – it was more than just a theme. I’m actually using [unintelligible 00:36:52.04] because that’s what you wrote on DraculaTheme.com/pro when you mentioned seven habits of highly productive developers. Now, first, I wanna know - is seven habits of highly anything trademarked? Because there’s another book that’s really popular that’s very similar named… What are your thoughts on that?
That’s what I found out when I was writing it… [laughter]
The hard way?
Yes… So now it’s not seven anymore, it’s 14. I doubled that.
Well, that’s twice as good.
“I doubled that.” Nice.
That’s so funny.
Well, anytime you’re writing down “Habits of highly productive anything”, you should just always double it. I mean, wouldn’t that be natural?
That’s hilarious… So now you’re at 14 habits.
Yes… When I was doing the Pro, that’s what I realized - like, okay, I can give you the best theme in the world, the best fonts in the world, and the best code editor in the world. But even if you have all that, but you don’t cultivate the right habits, then it’s all for nothing. So that’s why this whole book idea came up… But when I put this out there, I said “Yeah, I’m gonna put together an eBook, it’s gonna be nice, and that’s it.” But yeah, I had no idea what I was getting into. No idea. Fast-forward three months later, it’s been a crazy three months. I have been working super-hard on that, and now it’s out there.
How many words per day? How do you gauge daily success, chipping away at the block? How do you gauge it?
I think lots of people think about the word as the objective. So if I hit 10,000 words - I don’t know what is the point - then I will have a book. I didn’t think about that at all. Like, okay, I’m gonna try to put together all these things that I learned throughout my career, working with lots of good people, and let’s see how it goes. If at the end of the day it’s a 30-page book - okay, that’s it. If it’s 100 or 200, that’s it as well. So that’s where my mentality is.
But yeah, writing a book is a very different beast from programming. But still, when I started this, my mentality was “Okay, I built open source projects before. I built paid products before. I know how to ship things, and sit down and do the work, so I will do the same for books. Even if it’s a different type of work, I’m just gonna put a lot of effort consistently, and hopefully it will be out there.” Now it’s ready.
Did you know you had the book in you though? I mean, it’s one thing to sit down and do the work and have a discipline, it’s another to actually have the book in you.
Yeah, I think so.
I’m not doubting you, I’m just wondering - how do you know? How do you have that assurance?
I first searched for 8habits.com. That was taken. 9habits.com, that was taken. 10Habits.com - that was free, but it was $5,000 to buy the domain. So that’s not an option.
11, 12 - taken, or too pricey. And then 14 was free. Okay, 14 it is.
Wow, that’s… I love that. [unintelligible 00:40:20.01] So you’re like, “Well, I’m gonna have to come up with 14, one way or the other.”
Yes. And I was writing, and there were certain topics that were already on my mind. I think one that we can all relate as software engineers is how difficult it is to pick what you should learn. We are bombarded with tweets and messages, everybody telling you “You should use this technology, you should use that one. Use that framework. Oh, React is much better than Angular. Flutter is much better than React Native. Everybody is always telling you what you should do.” And I feel that since I started using jQuery there was always a new framework better, there’s always a new library that is better.
I try to combine all these things that I was noticing on the market, or working on the day-to-day, and things from my personal life, as well. I think by now I gave more than 100 presentations… And I know how that was amazing for me personally as a human being; putting yourself out there… Like, talking to you right now. This is super-hard; it’s not easy to be out in the public and just opening your heart and telling all the things you feel.
It’s a very difficult thing, especially for programmers. We are all introspective, we have to deal with that… So I try to put that, like “Okay, if you teach things, it’s gonna help you.” It’s not gonna only help the person who’s listening, but it’s gonna help you much more at the end of the day… So trying to combine all these [unintelligible 00:41:56.17] was how I ended up with those 14 habits.
14habits.com is super-cool. I loved to find out there’s some actual science around habit creation, which - we’ll do some investigation; we have a show called Brain Science, and we’re actually gonna do a little investigation into this hypothesis… But it’d be cool if there was some science to say “Learning 14 habits is easier than learning 10.” Because that’d be cool – habit loops in creation is one thing, and there’s insane science behind it… But for some reason, if numbers play into habits, or – you know, the whole world is mathematical. It’s all math, and physics, and stuff… It’s intense. But if there’s some reason why learning 14 is somehow easier than ten, or maybe even 7… Hey, nothing on Stephen Covey or anything, but you know, maybe it’s easier to do 14 versus 7 or 10. I don’t know.
Buy seven, get seven free, it sounds like…
I did hear it takes 21 days to make a habit. Was that on Brain Science, or did I read that somewhere else? I can’t remember if Mireille said that…
That’s a known ism… I don’t know – I’m sure we’ve definitely…
Is it true?
I don’t know that. I’ll have to research that, too.
Because you could have done 21 habits in 21 days… Maybe for your next book, Zeno.
There’s definitely something with the three-week factor. It’s like, 30 days, three weeks, that timeframe… But we’ll get Mireille to do some research and confirm. We might even do a show, “Is this true or not?” Maybe we’ll do a show on that.
Yeah… Myth Busters.
Yeah, that’d be cool. Myth Busters in regards to Brain Science.
Brain Science Myth Busters, yeah. Pop psychology stuff. So pick a few of your favorite habits here, and we’ll unpack them for the audience… Because surely, some of these chapters probably flowed out of you as if they had already existed, and other ones you have to chip away at. What are your top habits from the book that we can discuss?
Nice… Yeah, that’s a very nice way of putting it, because when I was writing, that’s how I felt. There were some that just flew so naturally, and others that I was like “Okay, I have to spend much more brain energy to put this out there.”
I think there’s one that I kind of touched a little bit on this… And it’s around knowing the business side.
[44:16] I think when we first start as programmers, we think like this, that the sales side is bad, and it’s hard to sympathize with salespeople, because all they want inside the organization is to sell, at any cost. So if that means adding a new feature, if that means promising some new [unintelligible 00:44:37.03] to include on the roadmap, then that’s it, and we have to comply, and that’s all. And they don’t care about our code. So as developers, we’re super-protective over the quality of our code, and those people are the opposite; it’s like, “I don’t care about the quality of the code, unless it sells”, and that’s it.
So I wrote one that is called “Master the dark side”, where I make this comparison between the light side being the engineering part, and the dark side being the sales side… And I tried to convince people on why it’s important to know the business side of things. Some people think that we are paid to code, and I don’t think that’s the case. We are paid to solve problems. If that means using code to solve those problems - great. If that’s not the case - okay, then you don’t necessarily have to code. That’s not your job, it’s not to write characters into a black screen. It’s actually to solve something for real. Understanding that helps you in so many different levels.
Master the dark side…
I thought mastering the dark side would be another pitch for his Dracula Pro theme…
That’s right, I thought you were going there… [laughter] Well, he kind of did mention a black code editor, so that’s kind of alluding to a Dracula theme, potentially… Van Helsing maybe, I don’t know…
Some synergies there…
So the book is on the Dracula website… Is the book tied into the Pro theme, or do you just buy the book? What’s the relationship between the two? They’re just both by Zeno?
Yeah, when I started, I was like “Okay, this is only gonna be inside Dracula.” And as time passed, I was putting so much energy in making – everything that I try to do, I wanna do the best as possible. Everybody is like that. And when I was doing it, I was like “Okay, there’s a big opportunity to just sell this book as is, because it’s gonna help more.” And that’s what I ended up doing. So I put it on Amazon for pre-orders, and that’s how it is distributed now, both on Amazon as regular orders, or through Dracula Pro.
Yeah. There’s a lot of stuff going into that too, like how do you even get on Amazon? What’s the first step there? You just call somebody…?
Do you have Bezos’ number in your Rolodex?
“Jeff, hey, can I get my book on your site, please?”
[laughs] It’s a whole new world that you have to learn, this self-publishing world… Because I’m not talking to a big editor, I don’t have a book agent, I don’t have a huge team of people working with me… I feel like that can be helpful for some people, having that person every week asking you “How many words have you finished? How many words now?” But I was like “Okay, I’m gonna write at my own pace, and I’m gonna do this by myself, because I wanna learn it. I wanna see how it is to go to Amazon.”
They have this program called KDP (Kindle Direct Publishing) and they have all these sort of things that you have to fill out, and put your book out there, and then there’s this whole thing of identifying a book, the ISPN that you have to pay, and you get this unique number; you can pay for ten unique numbers at once, or just one… And every single version of your book is a different ISPN, even from the Kindle version to the paperback version, there’s a different identificator.
[48:08] There’s so many things that when you open that Pandora box you start to learn… And how you do revisions by yourself, how do you do illustrations, and how do you generate your book. Are you gonna generate an epub, or a mobi? And how you convert whatever format you used… There’s a lot of different tooling.
In my case, I started writing in markdown, and then from markdown I convert to epub using this tool called Pandoc. And then when I send to Kindle, they convert from epub to mobi. So it’s a whole new world that you have to learn, and it’s pretty interesting.
Well, the version we have is a Google Doc though… How is that connected?
It’s nicely formatted for copy-paste…
Yeah, it is.
So when I start every side project that I do, I try to think two things. One is “Okay, what is the value that this is bringing to people, how this is gonna help others” - that’s my number one driver. And the second one is “How can I collaborate with other people to make this a good thing?” If I push it really hard, I can do this all by myself, and that’s always how I feel like; I don’t wanna have blockers, that I’m just stopped and now I can’t move forward. I wanna be able to do everything, even if it’s do the design of my own site. I’m not a designer, but I’ll give it a shot. It’s not gonna be the best design in the world, but I’ll give it a shot. It’s the same for the book.
I’m like, “Okay, I’m gonna do this book, and now I’m gonna talk to people that I know and see if they can help.” So I put it on Google Docs, and I call my dad. I say “Hey, dad.” My dad is unemployed now. I said “Hey, can you take a look? Let’s just discuss and bounce some ideas.” He’s not a programmer at all, but - okay. And then I put it over there, so he can send some comments in, and we discuss.
Then I talk to my sister. She knows how to draw some sketches. I’m like “Hey, sister, please, help me with this.” And now we spend all this time putting those sketches. And then I have an aunt - she’s an English teacher. I said “I’m writing this book. Can you help me review it and make sure there’s no typos?”
I love it.
And then – yeah, none of those people are technical at all.
All hands on deck.
Yeah. Like, “Okay, let’s do this.” So that’s my approach. And I think it reflects on the content also, because I know I have some ideas from all these things that I learn, but there’s so many nice developers out there, super-knowledgeable… So I talk to developers from the New York Times, from Google, from Spotify, Shopify, from Apple… I talked to those people and I said “Hey, let me send you some questions about this topic that I’m writing. Give me your ideas and I’m gonna format them, put it on the book.” So that’s another thing - you see how there’s one writing style, and it talks about all these topics, but then there’s this complement on top of that idea.
Are those interwoven in the content, or are those isolated? Here’s an interview with X, Y or Z…
Yes. Right now it’s isolated, yeah.
It’s always interesting to see interviews be part of a book process, and ownership of ideas, and shared value, and stuff like that… In some cases you’re just like “I just want my name out there.” In some cases you’re like “Well, these are actually my ideas. Can you cut me a check?” Anybody say “Hey, cut me a check, Zeno”? Or they’re just like “Here’s my ideas for free.”
Not yet, not yet… [laughter]
Not yet… No one thought about it!
Maybe after this podcast…
So here’s the top sellers list… [laughter]
[52:02] Well, let’s hit one more habit. Do you wanna hit one more habit? Because I’ve got one that I would love to ask you about… Because I didn’t get a chance to read the body text yet, but I did read the headline.
Is it the 9-to-5?
No, don’t be Mario. Be Sonic.
Let’s talk about this then…
What does that mean? [laughs]
That’s a good one… So I feel like when we connect ideas with things that we already know in pop culture, it’s always good. It makes it easier to connect. There’s like this game that people play in parties all the time, it’s “Who would win in a fight?” So then you pick random characters, like “Batman versus Iron Man”, or “Darth Vader and Thanos.” So you get those random characters and you try to combine them.
I try to think the same way for those two characters, and I was thinking “Okay, Mario - what does he do all the time? He’s always jumping.” He’s always jumping from place to place, and he kills the other bad guys when he jumps over them. That’s interesting. And then Sonic - okay, super-fast; he rolls and then he kills the other bad guys when he just rolls over them. So I tried to think about all these developers that I met, where they were just like jumping from place to place.
So they worked for a year, and then went to another company. Worked for a year, went to another company. And then there’s these other developers that try to learn as fast as possible, and they try to stay on top of whatever the trend is… And they just get things done. So that’s the kind of idea, that two contexts that I was trying to give…
And my main point is that that’s okay if you are the kind of person who’s jumping from job to job, but there’s a side effect to this, which is you’re not gonna be able to create deep relationships and solve deep problems. Yes, you can help, you can code, you can solve some bugs, create some features when you’re there, but when you spend 2-3 years in one subject… Adam, how many years have you been doing this podcast?
A lot of years.
If you did it for one year–
Ten years plus, in general. Ten years for this show. Actually, more than ten years. November this past year was our tenth year anniversary.
That’s amazing. And the level of comprehension that you have around podcasting as a subject - it’s unbelievable. You could do any podcast you wanted right now, and that’s because you’ve spent a lot of time doing that. So that’s how I also believe that people when they’re switching jobs very often - there’s usually something connected to that, where they’re trying to fulfill some sort of need that they are not having. And that’s not to say that “Okay, if you say on the same job for 20 years, you’re doing the good thing.” I also don’t think that’s the case. You’re probably just staying there, in your comfort zone, you don’t wanna step out; you’re afraid of doing an interview, being rejected… So I feel like there’s this parallel between Mario and Sonic, and that’s what I try to put out there.
We had similar - not same, but similar - conversations recently with Ryan Singer on episode #399, “Shipping work that matters”, here on The Changelog. And then also back a little bit - I’m trying to remember the title… Did we ship that show yet? Yeah, “One thing that every dev should know.”
Yeah, with Jessica Kerr. I was thinking about that as well. Knowledge transfer is a big problem.
Knowledge transfer, story depth… I don’t know if it made it on the show, Jerod, but I know you and I actually talked about our rough idea of what “longitudinal” meant, and Ryan’s version of it and what we thought of it originally was different…
[55:52] But just this idea that the kind of problems Ryan Singer has solved design-wise for Basecamp - he’s been there for the whole time, so he has this vast knowledge of Basecamp’s problems… So his understanding of solving problems is so deep; whereas if you keep just jumping around, you don’t get enough depth and story and experience and domain-specific wisdom. He’s got some specific domain wisdom around project management, in relation to what Basecamp problems they’ve solved. And you don’t get that jumping around… Being Mario, as your example says.
Totally. I totally believe that. If we take the example of Changelog - you know how to create an audience now… [laughter] Come on…
Come on… [laughter]
We like to think so.
We invite Zenos on, we invite Ryan Singers on… I’m just kidding. Yeah. It’s part of our shtick, but yeah.
And you know that so much, and you know this niche..
Mostly we know what stuff doesn’t work…
That’s true, yeah.
…which is knowledge
Yeah, that’s true.
But that doesn’t mean we know what does work… [laughs]
But yeah, absolutely.
That’s the same with habits - every year, January 1st, you have all these lists of things that you wanna be better at, and that’s what you aim for, but nobody does a reverse, and they think “What are the habits that I can just remove, and that will make me a better person this year?” So I think knowing what works and what doesn’t work is crucial.
Well, plug the website to the book again, and some upcoming dates for it; any particulars for it, like its launch date etc. How to subscribe to get notified, if that’s a thing… Is it on Amazon for sure? What’s the state?
Yes, so if this goes live after - yeah, it was July 14th, the launch date of the English version. And I’m also working on a Portuguese version for July 28th. That’s another whole thing, like how you translate a book - oh man, there’s so many different things…
Yeah, and it’s for now exclusively on Amazon. I’m still thinking maybe putting it on other platforms, but I think I’m gonna try to stick with that. I think last week I saw a new version of the Pragmatic Programmer - remember this book? - and they launched the 20th edition of that book… And that really got me thinking, because I’ve been selling Dracula as an indie hacker (that’s what I’m doing), and I have to do all the marketing myself, I have to get the audience to that point myself…
And I thought about doing the same with the book - I’m just gonna put it on Gumroad, sell it over there… But for how long can I maintain the audience to keep going there? And when I saw that book launch in the 20th edition, I was like “Man, they were able to keep 20 years this thing up…” It’s unbelievable. It’s also a super-relevant subject, and they were able to distribute that throughout 20 years. So that’s why I’m picking Amazon for now, and I will try to stick with that and see how that works. I did the whole individual thing, now let me do the whole platform and marketplace thing. Let’s see which one is better.
Gotcha. So 14habits.com. It releases on the 14th of July. It would make sense, because there’s 14 habits…
I don’t know if that’s the reason, or is that just by coincidence…
Okay. I love it.
And July is the seventh month… [laughs]
Uuh, 7/14th… Sticking to the copyrights…
Oh, man… Stephen’s coming after you… [laughter] Hang on now. Hang on now.
[59:52] I’ve got one more question for you, but I wanna give a congrats. To do all this work, to come not just from simply an open source project, but to have a bigger idea… And I think that’s what I want to do with this show, what we do here, but in particular with Brain Science. We want people to think differently about the problems they face and the decisions they make and the way they perceive the world, and their mental framework… And I think that’s what you’ve done here, is you’ve changed your mindset towards 1) open source, and then 2) just how you can sustain and be happy. Working with your dad, and your sister, and your family - it must be a joy for you, for one, but then two, to have the extra help… And to really enjoy what you do, which is super-cool.
When it comes back to open source - you’ve had a change of heart. Give some closing advice to those out there in open source that can maybe take a grain of salt from what you’ve done here… Some advice going in the way of like “You know what - if you’re stuck here and you’re not sustaining, here’s some ways to think about it”, in terms of just open source not having to be just free, but finding a way to be rewarded by doing so.
Yeah, usually there’s some things that we think when we do open source. Number one is you wanna carry that flag, the open source flag. This is open, this is something everybody can look at the source code, and that’s amazing. I love that flag. I wanna carry that flag with me as well, throughout my whole life. I love that format.
But I would suggest people to also think about the underlying goal. If you’re putting something out there, it’s because you wanna help someone. You want someone to grab that code, make it better, put it on their own applications and then solve a problem themselves. And you can do that with a paid product, as well. Yes, there’s a lot of work. You have to do support, you have to do marketing. If you do that all by yourself, it’s really challenging, you have to wear lots of hats, but you learn so much by doing that. I feel that’s something that people should take away, and – just like, okay, don’t give up; the first project that you launch, nobody will care. The second one, nobody will care. The third one, now you know a little bit; maybe 100 people will care. And then you go from there. But not giving up.
I think there’s so much that you learn by doing a side project. There’s a ceiling to what the opportunities and the technology that your company can provide to you. When you spend maybe 15 minutes out of your day - you don’t have to sleep at 4 AM; just spend 15 minutes one day, 15 minutes the other day, try to do something by yourself. I think it’s a great lesson.
And take from this podcast… I love what you guys are doing. You’ve been doing it for more than ten years; it’s unbelievable. The value that you brought to so many people - you transformed so many different careers. So if you take from that example as well, bring to your own life - okay, how can I transform my career and my personal views as something that is gonna inspire others? If you can do that, what’s better than that?
Thank you. Thank you for saying that. We appreciate that. We appreciate having you on the show, we appreciate all the work you’ve put into this theme that I love (and paid for), this book that I will read when I get the final copy of it (which I will pay for)…
We’re not getting anything for free, just to be very clear…
You sounded spiteful on that… “Which I WILL pay for…” [laughter]
No, no… Well, to be very clear, I mentioned that we got a pre-version of it, and we will pay for it, is the point
Right, right, right. We support people doing awesome stuff like Zeno…
That’s right, that’s right. Great words of wisdom, Zeno. Thank you so much for sharing your time. It’s been awesome, thank you.
Thank you, guys. Thank you, everyone.
Our transcripts are open source on GitHub. Improvements are welcome. 💚