By Casey Liss
Wrong

As a part of my increased notoriety over the last couple of years, I’ve had many more people paying much closer attention to the things I say, tweet, and post. Many of these people are complete nerds passionately opinionated.

I’ve noticed that as time has gone on, I’ve gotten more and more… let’s call it “feedback”… about my particular preferences. This feedback comes in several flavors:

  • Have you considered X?
  • Why not X?
  • I like X instead.
  • [What I like] is stupid. You should use X.
  • X? Casey, Casey, Casey.
  • X? Are you kidding me right now?
  • X? I used to like you.

Of that list, the top two are acceptable. They’re having a conversation, rather than simply making a statement. The next one, “I like X instead”, is a statement, but said without malice. I get all of these a lot, and am not at all bothered by them.

Starting with “[What I like] is stupid. You should use X.”, things take a turn. They’re no longer about having a conversation. They are about shaming. Sometimes shaming with a faint hint of corrective action (“You should use X”). Often times though, they’re simply about shaming. Or sometimes about insulting (“I used to like you”).

The first question I ask myself is, how are these shame-comments helpful?

They’re not helpful. If anything, they’re very preachy. No one enjoys that, outside of your particular house of God, if applicable.

These kinds of comments—“I used to like you”—are also, often times, hateful.

Who wants to be spreading that hate in the world? Especially over something as silly as a way to listen to music, or perhaps a choice of text editors. Who cares if I like Emacs? It works for me, and that’s all that matters.

If this is the price to be paid for me making a name for myself, I’m happy to pay it. Things could be so much worse.

Nevertheless, as I’ve grown older, I’ve realized that the only person getting shamed by a comment like that is the person speaking.


Appearance: IRLTalk 24

I was asked by my pals Faith and Jason to pinch-hit for Jason on this week’s episode of their awesome podcast, IRL Talk.

Faith and I talked about several things, including Michael Bay’s dubious films of late, Micro Machines, oogling cars, what it’s like to adjust to being a podcast host, the pyramid of methods of communication, and then things get real while we briefly discuss sexism.

It’s a great show in general, and as with the other times I’ve been on, I had a blast recording it.

If you’re at all a fan of ATP, you should definitely check it out.


"Camel" Open Sourced

Today I’ve open-sourced “Camel”, the curiously named blogging engine I use to run this site.

You can find the source at GitHub. It is MIT-Licensed.

The motivations behind Camel are covered both in this site’s about page, as well in my post introducing the site. More technical details can be found on the README at GitHub.

We also discussed it at the end of episode 63 of my podcast.

While the code is a work in progress, I’m curious to hear what the “Node Nerds” think about it. I very nearly didn’t open source it, for fear that I would expose myself as a hack and a fraud. But I quickly quieted those fears by knowing that the easiest way to get better at something is to put it out there in the universe, and welcome whatever feedback you may get.

Check it out, fork it, send me a pull request, and tell me how I can get better. We’ll both be better for it.


It's That Easy?

A couple days ago, I wanted to see if I could deploy this site to a hosted platform. I knew that both Heroku and Azure had great support for Node.js, which is the platform this site is built on. I chose to try Heroku first, because in looking at both Heroku’s and Azure’s pricing, it was easier for me to understand that deploying to Heroku would be free in my use case.

At this point, I already had my project built and running locally, and also had a local git repository. I already had a standard node package.json. In every way, I felt ready. Thus, I took a look at Heroku’s quick-start documentation for Node, and started walking through it.

As I worked through the guide, I downloaded the Heroku toolbelt (command-line app), and after that, I was able to breeze through the guide, since I already had everything required of me. The first real action I had to take was to add a Procfile. My Procfile is one line; this is it:

web: node camel.js

(Note that camel.js is the entry point for my app.)

After installing the toolbelt, and creating the Procfile, I performed the following operations:

  1. heroku login to log into Heroku.
  2. heroku create to create the application within Heroku.
  3. git push heroku master to push my git repository to Heroku.
  4. heroku ps:scale web=1 to tell Heroku to create a dyno (a worker, to respond to web requests).
  5. heroku open to open Safari at my new, custom URL.

That was it. The only other thing I chose to do was to point my domain to Heroku:

heroku domains:add www.caseyliss.com

I was — and remain — stunned. I probably shouldn’t be, as Heroku has been around for a while now, but as someone who is used to working on the Microsoft ASP.NET stack, it was foreign. I’m used to standing up a server, fiddling with IIS settings, cursing some weirdo one-off issue that I’ve never seen before, and generally hating life until I get that first deployment done. While I expected things to be easier in this whole new world, I couldn’t imagine the only “real” task I had was to add a one-line file.

Not long ago we had the roll-a-raw-VM versus roll-using-high-level-tools debate. I’m working at a different level—a personal blog—and as such my priorities and needs are not the same as Marco’s and Justin’s. However, down here things are far less stressed and far less stressful. For something smaller and less demanding, it’s hard for me to reason through why you wouldn’t choose a solution like Heroku.


ATP T-Shirts

Starting today, and running until 11 May, ATP T-Shirts will be available for sale. They’re $19, available at Teespring, and for Americans should deliver before WWDC.

In case you’re not familiar with Teespring, think of it as Kickstarter for T-Shirts. Since we already (!) hit our goal of 200, the shirts wil be printed.

Wondering what’s on the back? It’s the code, in Objective-C, that it takes to create the logo on the front.

We’re nerds.

And proud of it.

A New Beginning
I'm speaking to you now from inside one of the venturi tunnels!

Welcome.

I’m speaking to you now from my new website, which I’ve uncreatively titled Liss is More.

This project was done for a few reasons.

Learn. I needed an excuse to learn Node.js, which is something I’ve heard quite a lot about lately. From what I’ve gathered, it’s a great way to stand up an easy HTTP server. In my experience, it’s been exactly that. At the time of this writing, I wrote just under 400 lines of code to create the blogging engine that served you this page.

Granted, it isn’t very advanced, but that’s damned impressive.

I decided to host at Heroku, because I had heard good things about it, I thought I could get hosting for free (since the site is so small), and I wanted to try it. I had also considered Azure, but their pricing information is so convoluted, I gave up on figuring it out.

While I don’t really have a name for the engine, I am considering open-sourcing it. There’s a lot of violations of DRY that I need to clean up first, as well as some other general tidying. Smart money says I’ll never get around to it, but we’ll see.

Control. As a friend of mine has said, controlling your own environment is important. While I’ve been a Tumblr user since January of 2008, I wanted to try something new, and perhaps more serious. Furthermore, I wanted to control things. I wanted to write the code myself, and I wanted to control how it is executed and deployed.

Personally, I don’t want to control the machine it’s running on. I don’t want to worry about patches, updates, connection issues, or anything else like that. I just want to write the code I care about, push it to some server somewhere, and watch my changes appear like magic.

What I did want is to control everything about my code and my content. Now I do.

Trends. Come on! Everybody’s doing it! Certainly, both cohosts of my podcast wrote their own blogging engines in their languages of choice. I wanted to do the same, but I wanted to write my blogging engine using a framework/technology that was, itself, trendy. Hence, I used Node, as well as some other technologies.

Inspiration. Finally, I created Liss is More in order to inspire me to write more, and do so long-form. I’m a prolific Twitter user, but I feel like there is room between writing 140 characters ephemerally and talking for an hour or two weekly. By having a site that I’m proud of, and that I made myself, I hope to quietly convince myself to write more. Time will tell if I accomplished that goal…