3,365 karma · joined March 28, 2007
Putting those links up was not meant as a form of marketing. They were meant to give context - to show what I meant when I say, "I get these things to a point where they're presentable but they don't make people fall in love."
Do you have any suggestions on what really would be marketing?
Yep I have, though I haven't done any real marketing. Over the past few months I've come to realize that's one of my real hurdles - marketing is just not one of my skills. I'm not sure where to begin with it, though I plan on learning.
I mostly share on sites like this, reddit, and forrst. Next week I'm going to be presenting Whoops in a lightning talk to a local Ruby group, which isn't something I've done in awhile and which I'm very mentally resistant to.
Maybe it's all just a matter of not having the right knowledge or experience. Programming is easy - I always feel like if I can't see the path I'll eventually be able to find it. Same with UI/UX. Not so with marketing, getting feedback, and iterating.
Which is all to say that while I spend a lot of time on side projects, I have a hard time getting from "this is good enough to show people" to "people love this and want to show other people." Saying no to all the ideas that are always bouncing around in my head so that I can focus on just one, like the guy in the article, always feels painful and risky. My internal dialogue goes, "What if this idea doesn't work out? I should just move on to the next one. That way I'm at least learning something new." What's more, when I initially release a site and it doesn't get any traction, my response is almost always to mentally run from it so that I don't have to experience the pain of disappointment.
How do people deal with that?
No one would suggest that you could become a world-class singer by merely going through a book on the subject. With these physical skills, it's obvious that learning involves doing something other than just absorbing knowledge. I think that, with programming, its nature as a skill is often overlooked because it's knowledge work. The key thing to keep in mind is that you must actually do programming in order to learn languages and techniques.
In Matt's case, he was also trying to develop a new habit - using TDD. Many aspects of programming are like this. Perhaps you want to start documenting your code more or you want to start doing daily standup with your team or _whatever_. These are all habits, some involving just you and some involving your team or organization. Recognizing them as habits will allow you to apply techniques for successfully developing a new habit.
In other words, he was not saying that negative criticism should be dismissed. He was saying that there is too much negativity for him to find the site enjoyable and that he thinks the change in attitude is for the worse.
That said, I also think that you're off the mark when you say the OP is not ready for having a personal project on display. The premise of OP's note is that he considered HN to be a more positive, supportive community than the larger Internet. There is nothing wrong with wanting to associate yourself with people who will build you up rather than tear you down. If Steve's been using HN for five years, he's probably well aware of how vicious people can be on the Internet. It sounds like he's sad that HN isn't a haven from this viciousness like it once was. And just because he's sad that this one community has deteriorated, that doesn't mean he's not capable of handling the slings and arrows of the wider Internet population.
In any case, I'm not sure how far we'll get by substituting his implicit definition of "practical" - allows you to start getting stuff done quickly - with another: "teaches you to build abstractions to manage complexity." What I mean is, a debate over the meaning of the word "practical" doesn't seem like much fun.
I think it's clear that the author thinks SICP, Lisp, and other languages considered "impractical" are in fact valuable to those who want to advance as programmers.
What's most interesting to me, however, is that he's encouraging people to really dig into the magic of programming. And here I think we have a problem.
Since November I've been learning Common Lisp and as of a couple days ago I've been learning Clojure. It's awesome! It's magical. But it's such a pain in the ass to get everything set up! It took me a few hours to finally get Clojure working with swank in emacs without having to use Leiningen. I still don't know how to build a common lisp executable and have no idea where to work.
I feel like those wish want to just learn a language in itself are pretty well served. However, there's a huge gap between the readily-available information we have on a language itself and the information we have on how to actually use that language to build real things.
I've actually started trying to address this at http://nonbeginners.com (So far I've only made progress on the Ruby section. Github: https://github.com/flyingmachine/nonbeginners) , though really I don't know if this is the best approach. My thinking is that, by having an outline of all of the larger environmental concerns involved in using a language, it will make it easier to both find the relevant information and produce it as members of a language community become consciously aware of the kind of information that needs to be made available.
"Oh, verelo's never been excited about Ruby? Well that changes everything! I'm sure glad I know his personal opinion, offered without any commentary related to the content of the article or even off-topic supporting reasons!"
I don't plan on expending much effort to market this. My primary desire is to get contributions. My next desire after that is to finally be able to get this installed behind the firewall at the company where I work. It'll be cool if the public site gets really popular, but honestly I don't know how to go about making that happen. It would be personally gratifying to see web dev checklists created by other folks which I can clone and use myself :)
I'm reluctant to use tab and shift+tab to indent/outdent because that interferes with browser behavior. On the other hand, some of the other key bindings probably interfere with browser behavior, too.
I haven't checked out the hit list, but I've heard good things about it
1. Good idea! 2. Good question. I guess I'm just used to doing that elsewhere. Also, I have a kinesis keyboard which places brackets in a more convenient spot, and I guess I forgot about that. I like command and period.
In retrospect, I should have titled this submission, "Codename: Open Hercvles"
I've been dabbling in Lisp (read Land of Lisp and am going through PCL) and eventually I'd like to create my own text-based game using common lisp. However, I am indeed wondering if/how it would make sense to use it at work.
I mostly do full stack web stuff (ruby/sinatra/rails, javascript) and I'm not at all sure where Lisp would fit in. In fact, I don't really know what it brings to the table except its expressiveness. As opposed to e.g. python, java, c, or objective-c where I have a decent idea of the domains where they shine.