Today I'm going to try out a bit of airport brain dumping for a change. As in--I am typing this at San Francisco's airport, while I wait for my flight back to London. Probably the second best thing about this airport is that it has desks with power sockets, but I am still debating with myself whether that is first or second best thing, in close competition with the SF MOMA shop that I found once but can't manage to find again (where is it? mystery!).
Coincidentally I have been asking several people at work to dump their brains and thoughts onto various outlets for me to process in the past two weeks (up to and including today), and while it has gone really great and we've managed to get so many things done and great connections made, I think now that I am on my own on the airport most of the excitement is fading out and I am starting to sort of crash down. It may probably coincide with the fact that my body has been in Pacific time for just a few days and it's now vigorously disagreeing with me staying awake at what is technically around 2 AM in London. And my thoughts are going ooooh ahhh, wandering towards all sorts of places*.
Still talking about brains: I think mine is a little bit fried, and yet still it cannot stop having ideas. It is a bit disappointing sometimes: I want to sleep but I suddenly have this great crazy idea and I stay awake thinking of it and considering the pros and cons. Much excitement. Such insomnia. I have tried toning down my caffeine intake, and in the process I am trying out new teas, which seems to freak some of my friends out, although I still don't know why ("what are you drinking?"). Is it because it is not coffee and I am supposed to be drinking coffee, or is it because everyone is supposed to drink coffee, or just because it's not black tea? Not that I really care, now that I realise. Friends, if you're reading: I don't care what you think about my choice of drinks!
My latest idea, and the one that sprouted past night at approximately 4 AM, is a little bit more ambitious than usual, and I might need some help from people. But I am trying to be real about it, so I'll probably build a couple of proofs of concept, or modularise things, before actually getting the word out. So expect some oddly looking things in my GitHub profile in the upcoming weeks, and don't really try to make sense of it, because you're not me, and you can't use my brain to understand what I'm trying to prove (sometimes not even I can).
Years ago I used to build these experiments in private, just zipping each version and naming them as experiment_1.zip, experiment_2.zip... I was terrified of people looking at my clumsiness. God knows what would happen if anyone could access those early experiments, eh?
Then I learnt about Subversion and how to set my own private SVN repo in my own web server. So I started putting everything into my "code" repository, and enjoying the advantage of being able to roll back, or see the diffs or why did I replace X with Y, but then things got out of control when I added huge data files, and checking out the repo took ages. Git's philosophy sort of invites you to have smaller single repositories and you don't need to check out the whole thing, but I am getting somewhat lazy (or pragmatic?) and don't really want to bother with setting ssh repositories and public/private keys, so a few years ago I decided to just create repos in GitHub and work in the open from the beginning.
This is what freaks many people out: putting unfinished code in GitHub! OMG! Un-fi-ni-shed-co-de! But you know what? Probably no one bothers looking at anyone else's code. Unless you're trying to be hired and use Github as your code credentials of sorts. But really, don't worry.
I entered a couple of hackathons this year. My friends were averse to using public GitHub repositories, so we worked in private repositories for the hackathons. It then took pretty much forever* to finally flick the switch to "public", after many considerations and debate on whether the code was "good enough" to be public. FFS, it's hackathon code. What do you expect? Rhymes on the comments? Truth is, no one has even contacted me about any of the two hackathon projects. We worry too much.
I shedded my last concern recently. When I was doing something for a conference and kind of wanted to surprise people with my latest invention, I either created repositories with obscure names or used a private repository. I did this for my JSConf.EU talk, working on a private repo until my talk was done, and then I published everything in a public repo. I am not sure why, but I didn't bother with all that setup for the CascadiaJS talk; I just used a mysterious repository name. And you know what, again? No one noticed any difference. Because... guess what? No one is looking at your profile, until you sort of drag their heads in front of your repository and nag them to look at it. Attention span is such a precious resource nowadays.
Therefore my advice is: have ideas, and have a repository per idea. Put it on GitHub or wherever you can't accidentally delete your work, and add a nice README so you can remember where you were when you had to temporarily stop developing your idea. You'll be nice to your future You, and hopefully future users of your own project, if you get to work more on it. And if you don't, you can always go back and giggle at that thing that is idling in your profile.
At least I do.
How's that for a brain dump? Did you read until here? :-)
Now, if you excuse me, I have to board a plane.
* And while I am having crazy ideas, they are a bit less crazy because piercings++ on Saturday. So far is healing well!
* Forever in this context being more than three months of my somewhat constant nagging.