
Do things, write about it - swanson
http://mdswanson.com/blog/2013/08/11/write-things-tell-people.html
======
aculver
I recently bought Shaun Inman's book "Lift Off", which was essentially his
development journal for an awesome iOS game he created called The Last Rocket.
Although the journal wasn't public while he was writing it, he bundled it up
later started selling it for $10. When a couple friends and I started talking
about creating an iOS game, I bought the book and read it in a weekend. It was
worth every penny.

The thing that impressed me the most was that he wrote, and made some
progress, almost everyday. Also, it wasn't polished or article-y at all. It
was just candid journaling.

I found it so motivating that when I recently started working on a new product
myself ([http://churnbuster.io/](http://churnbuster.io/)) I decided to do the
same thing. I'm keeping a journal
([http://productquest.andrewculver.org/](http://productquest.andrewculver.org/))
totally separate from the product blog, product mailing list, etc. that
conveys my experience as I build a product, rather than trying to market the
product itself.

The journal serves a couple purposes: It keeps me accountable to keep
development coming along regularly. Also, it helps me connect with other
product people or people who want to get into creating products. (They're more
likely than the average person to be a potential customer for the product.)
Also, any audience the development journal may gain can help amplify the
announcement when the product is ready to launch.

~~~
vidarh
I think you'll quickly find another benefit of journalling: It forces you to
justify your decisions. Even if you only write for yourself, many ideas "sound
smart" in your head, but don't seem all that bright when they've been put in
writing and you re-read them.

You also get invaluable documentation of justifications for what you do.

And the effect multiplies when you decide to publish it.

I keep sporadically working on a series about writing a compiler in Ruby,
which morphed into writing a Ruby compiler in Ruby, and it's a slow going slog
(I just ended a two year "break"), and writing about it quickly started
changing my approach. It's like when your maths teacher insist you show your
working rather than just giving the results - you can't skip steps just
because you know (or think you know) how to go straight from A to B any more.
Of course when writing a journal, nobody is forcing you to not take shortcuts,
but I find I am more likely to be disciplined about verifying assumptions an
testing changes anyway.

------
AndyKelley
I recently bit the bullet and created a personal site for myself so that I
could do the "tell people about it" half of this advice. I'm so glad that I
did.

I'm pretty happy with the technical aspects of what I ended up with, in terms
of simplicity, how easy it is to add content, and how little I have to do
admin on the server.

I use S3 static website hosting and a dead-simple node.js script to generate
the page, and then use s3cmd, a wonderful little tool that is in my distro's
package manager.

So the cool thing is that I pay approximately 3 cents per month for the
hosting, I can take any amount of traffic no problem, and server crashes are
out of the question. On top of that I can preview perfectly what I will see
before I publish by viewing what I am about to push with the file:///
protocol.

Result: [http://andrewkelley.me/](http://andrewkelley.me/)

It's open source:
[https://github.com/superjoe30/andrewkelley.me](https://github.com/superjoe30/andrewkelley.me)

~~~
thoughtpalette
Just wanted to say you've some awesome projects on github!

~~~
AndyKelley
hey thanks :)

------
nadam
I think creative people always do fun projects. I think it depends where you
are in your career whether it will give you material gains.

In my opinion these projects, and generally building a network amongst
developers can help you if you are a beginner, looking for entry-level jobs.

But in my experience after a point the job offers you get this way might not
be the best amongst the offers you get. For example at 1998 I wrote a real-
time ray tracer, and because of it a game-engine company offeed me a job as a
script writer. They said I am not experienced enough to join their core engine
team. Nowadays, it is even worse: I get the best opportunities from people who
are not even technical. The best job/contracting opportunities come from
people who are good businessmen, but not technical. They cannot evaluate me
based on my fun projects, they evaluate me based on some relatively boring
previous jobs/works in their industry. I do my fun projects for myself, or
because I want to create paying products of them. I occasionally tell about
them to fellow hackers; not because I want to get yet another low paying
entry-level job, but because it is fun to speak about a fun project.

~~~
meerita
We must define fun, first. In my experience you can have fun in any kind of
genre of work. I do both design and code and I found coding pleasant too.

Creativity will blow, of course, when you're doing side projects but when
you're working for a client or your company most of the things will be defined
before the first line of code or the first illustrator vector is drawn. So the
creativity limits in those situations may be shorter than anyone expects.

------
jayro
Previous to Carl Lange’s post, this was described in "How to Increase Your
Luck Surface Area" \- [http://www.codusoperandi.com/posts/increasing-your-
luck-surf...](http://www.codusoperandi.com/posts/increasing-your-luck-surface-
area)

Apparently, Carl was unaware of it as well despite the post and subsequent
discussion receiving a fair amount of attention on HN at different times.

Disclaimer: I wrote it.

~~~
swanson
Don't worry Jason - I was pimping luck surface area last month:
[http://mdswanson.com/blog/2013/07/19/getting-traction-for-
yo...](http://mdswanson.com/blog/2013/07/19/getting-traction-for-your-open-
source-project.html) ;-)

~~~
jayro
Cool! Thanks. ;)

------
csbrooks
What's a reasonable place to put up a development blog for a side project, if
I want to spent as close to zero time as possible messing with configuration?

Don't say "install this blog software on your web server"; my side project
doesn't need a side project, thanks. :)

~~~
pothibo
That's actually a tough question. I haven't found a place yet to put up a
development blog. Code snippet are always screwed up or you don't have
analytics, etc.

I took the extra mile on my blog and installed Wordpress on my server. I
thought I liked it but now, I'm looking for another solution. I have yet to
find what I want.

~~~
csbrooks
Good point, I didn't think about code snippet formatting.

~~~
MartinMcGirk
If you can live without great code formatting support and you don't mind
paying for it, then I really can't recommend Squarespace highly enough.

I fancied blogging, but I already have so many god-damn side projects on the
go (my eternal problem is too much started - too little finished) that the
last thing I want to do is keep a linux vps and a Wordpress installation up-
to-date and configured securely.

With squarespace I think I pay $16 a month (less actually as discount codes
are in healthy supply online) instead of $5 for, say, a vps on DigitalOcean,
but I get my pick from a set of nice responsive template designs, unlimited
traffic (in case I ever write something that gets HN'd) and a drag and drop
interface that most of the time exactly meets my needs. They do all the
updating of the back end for me and I can just write. I can inject code and
other stuff onto the page if I need to, but I've kind of come to the
realisation that I don't need most of that bumf anyway.

I did just have a look at the in-post code writing tool out of interest: It
has HTML, CSS and Javascript formatting, which isn't much help if you do most
of your work in c# like I do, but then I'm sure I'll survive. Their customer
service is why I'm so damn enthusiastic about them, so no doubt if I REALLY
feel I need it I could just email them and request it.

Reading this back sounds like I work in their marketing department. I promise
I don't, I just really think you should check them out.

~~~
jayshahtx
I can second this, I moved over from WordPress because it was so buggy (add
on's didn't always work as promised). No regrets with squarespace - the site
looks professional and I don't have to spend any time updating/maintaining it.
Of course, this comes at the cost of learning but...

------
jlongster
This is a very good advice. You can do all sorts of incredible things, but if
you don't know how to tell other people about it, it will simply fade into
deep folder on your hard drive.

It's been a personal goal of mine this year to blog more and more. The few
times where I really put effort into it, I found huge rewards. A simple (but
lengthy) article about how to write canvas games ended up being published in
the Game Developer Magazine, and I made some money off it. All because the
editor saw it, liked it, and emailed me about it.

~~~
gengstrand
I find that the weekend coding project can become very good fodder for a blog.
[http://www.dynamicalsoftware.com/analytics/oss](http://www.dynamicalsoftware.com/analytics/oss)
is such an example of some hands on exploration of map reduce and is currently
my top blog post.

------
antitrust
This is great advice. I have a long list of projects I wish I'd done with the
intent of accomplishing and then telling people about, as it would force me to
get them done and make them into contributions.

Many are small, others would have made me wealthier.

In all cases, I didn't engage them because I didn't feel they were significant
"enough" or lacked the confidence to simply dive and do them, and missed an
opportunity as a result.

Almost all of them would have been accomplish-able in a weekend or afternoon,
with another half-hour spent writing a blog about it. You don't need much
detail, but it takes some mental work to distill the project to a simple
statement that people will enjoy reading.

Regrets? Sometimes. More so for having failed to cultivate in myself a culture
of getting stuff done and pushing it away from my desk into the world at
large, so others can build on it.

"I could have done more" is the statement of someone who realizes in
retrospect the value of his time.

------
alanbyrne
I've been blogging about my chosen field for about a year now and I've seen
similar rewards from it.

Most recently: \- I was asked to provide an article to go into a sidebar of
someone's book. \- Someone I met for the first time at a meetup mentioned that
they knew who I was as my articles kept appearing at the top of their Google
searches for particular topics. \- Microsoft suggested a resolution to a
problem ticket I had raised with them by copying and pasting my own blog into
a Word document and sending it to me - complete with Screenshots.

I've also learnt a lot by researching "that extra little bit" for the blog
content and from other people leaving really great comments.

------
quadrangle
I wish people would stop suggesting that everyone blog. It just creates so
much bulk. Only really creative and thoughtful people (like me) should blog.
All of YOU blogging clutters things and makes it harder for people to find MY
work.

------
lifeisstillgood
I'm struggling towards this end myself.

I have [http://www.mikadosoftware.com](http://www.mikadosoftware.com), which
is the main supposedly commercial site. Its self hosted on rackspace for
various reasons.

For documenting side projects I use readthedocs.org and CNAMEs to put up any
and every github project - so I get
[http://pyholodeck.mikadosoftware.com](http://pyholodeck.mikadosoftware.com),
generated straight out of docs in the github project. Good syntax highlighting
is a breeze, look at `literal-include` in sphinx for an idea. I have maybe
twenty CNAMEs like this.

And [http://blog.mikadosoftware.com](http://blog.mikadosoftware.com) is a
wordpress site, I pay about 5 bucks a month for, mostly because I did not want
to write my own blogging software for the 3rd time.

I know it sounds a mess but the theory is I used to have "ideas" and would
mail myself with a sentence or two thnking "one day" I would write it up into
that world changing post it deserved. Well now I just open the Wordpress app
and put those sentences, plus a couple more because I am publishing and I have
a "thought" out there. Basically every random thought that used to languish on
my inbox is tarted up with an extra 30 seconds work and actually contributes
to my capital.

I have no idea if it is SEO good or bad, or frankly if anyone actually reads
this stuff. But I am glad I am slowly building up my online capital. If any of
the blog posts actually get attention, I guess I will tart it up a bit and
republish it on www.

(As an example, I often bang on about software as new forms of capital here,
but this link ([http://blog.mikadosoftware.com/2013/08/06/software-
capital/](http://blog.mikadosoftware.com/2013/08/06/software-capital/)) is an
example of me putting a quick thought into existence. I would not actually
consider that an acceptable docstring for production code, but its OK to throw
out there.

Anyway - I agree with the main thrust - and for less than 50 bucks I have
blogs, code documentation, and proper length articles from ReSt (a python form
of markdown)

~~~
lifeisstillgood
This was edited to add in links for ease, but now looks more like spam. My
apologies, mail already winging its way to info@

Ignoring that however, the setup has taken a while to arrive at a sensible
level and might be useful to the OP.

------
random42
I have time lots of it and I am trying to learn different stuff. My problem is
I rarely have "new cool original project" idea, which is bad for me, because
as a freelancer personal reputation goes long way.

I recently redesigned my website
[http://www.mohitranka.com](http://www.mohitranka.com), and looking to build a
text analytics api side project (yes, I know not original)
[http://analytex.net](http://analytex.net).

How do I generate "original and interesting" ideas, worth showcasing/talking
about?

~~~
gpcz
If you're learning things and you either run into a snag that you personally
overcome or encounter a poorly-documented/explained subject, you could write a
tutorial about it. It doesn't require finding an innovative business idea and
it a) shows potential employers that you know a skill, b) shows potential
employers that you know how to write, and c) gets you emails asking for help
that may lead to consulting work if you play your cards right.

------
glenbo
How do you successfully build an audience? Posting to reddit and HN is nice
and all, but one or two popular posts rarely builds a ton of repeat users in
my experience.

~~~
swanson
> How do you successfully build an audience?

Just keep writing. Don't worry about building an audience, focus on improving
your own writing ability and finding your voice. I wouldn't even really say I
have much of an audience - but it has grown from only co-workers and friends
to local developers to occasional HN/Reddit success.

When you think about bloggers that have a real, influential audience (PG, Joel
Spolsky, etc) just remember how many years and hundreds (or thousands) of
posts they've written.

------
decasteve
I like that. For me it was always "Put yourself out there". Even if it's
something you are not good at, perhaps especially if it's not something you
are good at.

I never felt comfortable with writing for public consumption. Nor did I feel I
had code to contribute, that wasn't proprietary of a client.

I've started slowly and enjoy the practice even if it's just practice for
myself for the time being.

------
agilebyte
I have a slightly different approach. I mostly find out about new software
through GitHub. So rather than _talk about it_ I put my stuff on GitHub and
possibly NPM. If any of those repos generate enough traction on their own, I
would work on them more/make them better etc. If they don't and the work is
useless to others, there is no point in talking about them.

~~~
frankblizzard
why not combine telling the people about it and linking to your github / npm
projects? It will definitely gain much more attraction and you can showcase
already the effects of said code with a neat demo.

~~~
agilebyte
I am thinking the repo's README.md should be enough as I do not have anything
more to say than what is there: "Thing X does Y, here is a quick start".
Usually I put a picture up there or _even_ a link to an online demo.

------
coodoo
If you are in the mode to tell a good story, have a try on our visual story
telling platform: [http://www.visual-marks.com](http://www.visual-marks.com).

It provides round-trip markdown/HTML editing to let you focus on writing and
easily layout the page.

------
alxbrun
Good advice, but

    
    
        "This past month I set a goal to write 20,000 words"
    

Setting writing goals in terms of number of words looks terribly wrong to me.

~~~
swanson
Yeah - the intention was to write a little bit every day or so, but I needed
to quantify it to keep myself honest and track progress. I guess I could have
said "write 20 things this month" or something similar.

~~~
dreeves
(First, thank you so much for the Beeminder plug! This is a big day for us,
thanks to you!)

I like just forcing blog posts to happen on a reasonable schedule. Like
tomorrow is an "emergency blog post day" for us on
[http://blog.beeminder.com](http://blog.beeminder.com)

I also think having the thumbnail in the sidebar like that makes for a nice
"ETA till next post" for your readers. And there are a couple ways to automate
sending the +1 to Beeminder each time you write a post.

PS: Another more explicit example of the "ETA To Next Post" thing:
[http://daily.muflax.com/](http://daily.muflax.com/) (Looks like they burned
out on blogging there for a while but are committing to get a post out 20 days
from now...)

------
sown
What do I do if I can't make anything cool? I mean, I can write code, but it
seems like I'm incapable of an original thought.

~~~
chuckwnelson
A lot of designers have this issue. The hardest person to develop/design for
is yourself since you're your worst critic.

Ask yourself "What if?" Take something you're interested in and modify it
slightly versus trying to think of a whole new original concept. What if I
made a to do list specifically for teachers? What if I created a workout app
only for developers? etc.

This could help spark your imagination into something more grandiose.

~~~
sown
that is kind of hard. i don't know many people.

------
roycehaynes
swanson - very great post. I happen to like this "do things, tell people" so
much that its been my personal website's tagline for sometime. Thanks for
writing and sharing with us HNer's

------
beefxq
Self promotion works great :)

------
cgman
I hate blogs that don't have comments enabled. What's the point?

~~~
swanson
My personal stance is that my blog is MY space on the internet. It is for my
thoughts - if you want to share your thoughts, that's great, but please do it
on your own space (or a common space like HN/reddit).

