Well, getting back on the work wagon on Sunday night has not proved easy, at all. Knowing that I made my goal - even though I still have the lion’s share of the work to actually do - has taken an unexpected hit on my ability to focus. Back in my Patreon post, I mentioned that I’ve been struggling with focusing on one task in between the two extremes of excitement and tiredness. Put another way, discipline is a muscle I need to practice a bit more.
Given that I know that, and now that I am sitting down, what can I reasonably due before 1:00am? There’s a few possibilities. I can work on Jekyll Scheduler, or make some more art for cafes, or start enacting any of the contracts I landed as part of this project. But I think that the most important thing I can do would be to make a post mortem of this entire experience - what did I do well, what did I do poorly? How did I feel about the process? When did I flag in productivity, and why? Where did I fail to market this well? What did I leave undone?
I think that’s the most productive thing to do at this juncture. So, let’s do that. First, I am going to give my overall impressions, right now; then, I’ll read through all of the posts again and identify interesting points; then I’ll make a list of what I have left to do, and how and when I am going to do that.
This was an exceptional few days. I started three days ago with nothing but a bet with a friend, which I doubt he seriously considered I would actually fulfil. What I wanted at the time was clarity on a few things. First, could I actionably focus on a task if it involved actively improving my life? Paying off my student loans are arguably the most important thing I could be doing with my time right now, given that they affect my decisions around work (arguably, because there are other things - physical rehabilitation for my broken foot, learning French and the fiddle, focusing on Maintainer.io, or writing my thesis all might contend for the most important spot, too). This challenge was custom made to stretch what I thought I could do, and how I could do it.
I did not plan it very well. For instance, I didn’t initially think to myself: “OK, I am going to start a blog, and talk about it.” Instead, I figured initially that it would make a lot of sense for me to keep a log of what I do and how I do it. I figured I might as well put this in a GitHub repository, because I like writing in Markdown anyway, I didn’t plan on having people seriously read this, and that way I could use GitHub Issues to plan stuff. I picked the name randomly based on the loan size, without thinking about how it would look to talk about debt so openly. I made the repo public because I didn’t see a reason to make it private. It would be more accurate to write I default to public, than that I intentionally put my journal out there as a statement.
That was an exceptionally good idea. It turned out that I did not get far in terms of providing new services. For instance, Jekyll Scheduler wasn’t finished; I never made the National Geographic cover website; I didn’t launch a expedition social media company; I didn’t do anything involving machine learning. Instead, I mostly talked about what I was working on, and why, and that was all I needed to do. Almost immediately, from one of the first people I shared it with, I started to get offers for work. Within an hour I had $250 promised that wouldn’t have existed if I hadn’t started talking about what I was doing.
I failed at some aspects. I should have made the Jekyll blog, sooner - dropping the GitHub repo into various social media channels and slacks didn’t turn up a lot of results, mostly because non-coders didn’t know what to make of Markdown files in a GitHub repository. That was my fault. I corrected it as soon as I got some honest feedback from a stranger - all of the Friday night session was spent editing a basic GitHub theme to make this blog look nicer.
I could have focused more on the value, and not the money. This entire project I was fighting the feeling that I was begging for money, even when I said explicitly that I wasn’t. It’s the catalyst, and it’s hard being honest about hardships in today’s society without sounding like you’re complaining. I don’t know a way around this, and I haven’t had enough time (three days is not enough) to fully grasp whether this issue may be intractable from this effort.
Another issue I had was staying up late on Saturday night. I was up until 2:30 in the morning. At some point, my brain, unused to being awake after 10:00pm (really), decided that I was staying up and if that’s the case it would stop telling me to go to sleep. I didn’t do much after 1:00. I should have just gone to bed. Today, Sunday, I was absolutely wrecked. I got in a couple of hours of poor work in the morning, and I tried to force work all afternoon, to my actual detriment (psychologically and physically). It was only after I had a nap that I was able to realise I wasn’t functioning well, and to tell myself to chill out and relax before I made the situation worse. I’m unhappy with my posts, and I’m not happy that I got angry at Photos. I didn’t need to; it was a completely unnecessary emotion that would have been avoided if I had simply gone to sleep earlier on Saturday night. This is a really good thing to notice, for me, for the future.
My lack of a proper working Sunday ruined the chance for me to get Jekyll Scheduler launched, which made me sad, because that was the thing I put the most heart into over this whole sprint. I am going to get it up at some point this week, anyway, but I wish it was sooner. Of course, I also made my goal by 10:00am. I decided early on that I didn’t need to physically get all of the money by Sunday to complete; I just needed to have contracts out that I would then fulfil after. (And, actually, my goal was really to be done by a second call with Felipe, at 1:00pm. I managed, but the call was postponed due to his being in Church anyway).
Which means this was, in effect, a two day sprint. That’s something I can try in the future.
One thing I did exceptionally well in this sprint was talking about it, and asking other people for help. Because of that, this was not a solitary endeavour. And what it was couldn’t have happened without support.
It turns out that writing as I go, publicly, is an incredibly useful tool for me to think and hack. I did more in the past two days than I am used to do, and learned much more. I am going to keep this style of writing up, I think, even if it does take some time. What I lose on the swings, I make on the roundabouts.
The ultimate judge, for me, is that I made the money I wanted to, and that I had a great deal of fun doing it. Do I wish I had been more productive? Of course. Do I wish I had done things differently? Sure. Do I wish I had marketed this better? Yep. Would I do it the same way again? Likely, with some edits. But overall, the experience itself was wonderful. I don’t say that about most weekends.
Things I did over the last three days
I checked my Maintainer tickets almost every day. I missed on Sunday. That’s important, because this is my actual work.
I wrote a Patrons-only Patreon post, and linked it here.
I did some emails.
Ricardo morning coffees on Saturday, as is our ritual; and brunch with friends on Saturday. I also hung out with Dean, which was an added bonus, and invited friends to coffee hacks on Sunday morning. I also was at Cafe Pi until midnight, which I’ve been meaning to do for a while.
Contacted Buffer employees about their API and about sponsorship or partnerships. This was a waste of time, and ill-done.
I didn’t spend $500 on Twitter, which was probably a smart move.
Talked to Brian (in Odessa) about marathon training for August - keeping long term commitments even in short term sprints is important. Scheduled a weekly call.
Planned a National Geographic International Covers site, and researched and discarded the idea.
Follow up with GitHub Support about their API authentication for builds from integration services.
Install my art in Café Névé; if not, make more art.
Pay off my debt on Monday using savings, knowing they’ll be replenished.
The Money Section
Where did it come from?
$10 for stalebot from Dean.
$250 for Sun’s art site from Dean
$1200 from Zach for 16 hours of machine learning and computational linguistics work for healthcare name disambiguation. This is actually still in the works, but it should be fine.
$500 for org audits of splitrb from Andrew.
$150 for repo audits of 24pulrequests and octobox from Andrew
$2 from Jacqueline over Patreon.
$10 from Andrew over Patreon.
$25 from Kristof over Plasso.
$0.91 from Ricardo in cash, but only if he notices this.
I probably spent more than $30 on coffee, food, and art supplies, but who is counting?
This project could not have been done alone.
Shout out to Bruno in the cafe for his advice and validity; to Ricardo for hacking with me on Saturday and for being an inspiration for hard work himself; to Thomas for letting me natter on about profiteering when you just want to do canvas ML stuff; to Vernon for helping me debug Mongoose; to Dean for coming out late on Saturday night to a weird chess cafe to work next to me; to Jacqueline for holding my hand when I felt attached on Twitter and wanted a second opinion; to Heather for all sorts of things, including dealing with my lack of sleep and helping me take breaks; to Andrew for getting on an early morning Sunday call; to Danesh for reaching out about help; to Felipe for the original encouragement; to Kirsty for the feedback about the blog; and I’m sure I’m forgetting someone.
And, of course, thank you to Dean, Zach, Jacqueline, Andrew, and Kristof for taking a bet on me being able to work hard for you!
My next loan is $49,555.09 as of this writing, at 7.9% APR. I’m heavily considering starting a blog similar to this one, and seeing if I can remove that debt in a month. Would you be interested in following along with that? If so, email me and let me know!
I figured out my problem with iPhoto, and why I was so annoyed at it.
I was incredibly tired. I don’t function very well on multiple nights of poor sleep, and last night I only got five hours. Too much caffeine today, and it was inevitable that I was going to pass out.
After writing the last post, I took a nap, then a bath, and watched some of The Princess Bride. There’s no reason entrepreneurialism has to take all of Sunday, too. Now, refreshed, I’m making dinner; tonight, I’ll work for a few more hours and see if I can plan and act on wrapping this up.
No lessons in this post, no discussions about code problems. Just a note that I’m human, and therefore an animal, and therefore limited by physical needs. I should have planned for anger earlier.
Yesterday, while walking through the Mile End in Montréal after brunch, and before heading to a cafe to do some work, I bought some wooden canvases at an art shop. I’d had an idea in my head for the past two years. Simply put, could I make drawings of galaxies and stars using black chalk, on cardboard, and put it in cafes? Would people buy it?
When I saw the wooden slats, I had a different idea. If I grabbed a sharpie, I could draw some comics in the style of my old webcomic. This afternoon, after lunch, I sat down, looked through my archives for good comics. There are few - I was in a pretty miserable part of my life when I produced them, and a lot of the comics didn’t translate well to stand-alone art pieces. But a few did.
I’ve been scribbling my blank man and his bearded friend through notebooks for the past decade, and it was nice to see them on something approaching an actual canvas. I used a sharpie. The whole process took perhaps twenty minutes.
Unfortunately, I took photos of the art, while it was taped to a wall, using my iPhone. I should have used my camera. When I went to the cafe where I hope to display it tomorrow, to build a website and to do some afternoon coffee hacks, I found that my iPhone didn’t register the photos as new - well, all but one. For the next hour, I increasingly struggled to find a way to transfer photos from my iPhone to my computer. They were in my Photo stream, but not…
… and I don’t even want to talk about it. Eventually, I left the cafe, so full of rage and impotence that I didn’t bother to finish my coffee. I walked home, wondering where all of this rage came from, and why Apple products anger me so much when their UX is so atrocious (did I believe that they would be better than this? Why?). When I got home, I messaged the photos to myself on my wifi, which was much faster than the cafes. And, after half an hour of editing the styles of my website a bit and making sure that the post looked alright, I launched a small page for these pieces. The longest part of the process was just copying over six 1mb photos from my phone to my computer. Weirdly, it took longer to do that than it did to successfully implement OAuth for my Jekyll site.
All of these art pieces are, of course, for sale, as they are part of this project. I’d like to sell them for $100USD each, because I spent roughly four hours on all of this work, and that makes up for my hourly work. As far as their intrinsic work, you’d have to ask an art critic. I know I am happy to have them, and I’m happy to have the Maunderings back in my life again.
Tomorrow morning, I go to the cafe and see if they’ll hang them for me. If not, back to the drawing board.
Ok. I’ve ordered my dirty chai latte, the champion’s drink of choice that I normally reserve for when I have a free point on my card, because it’s just that much more expensive that a normal drink. Now I’m hyped up (and still incredibly tired), it’s after 11, and I still haven’t done any substantive work today.
Incidentally, I’ve gone and looked at my student loan. It’s accrued over a dollar of interest from yesterday, so it’s not $2117.91 anymore, but it doesn’t matter - I’ll pay it off tomorrow when I can call the company and make sure that the funds go to the right account (it’s lumped with another $4,000 4.5%APR loan that I’m not worried about at the moment). That’s exciting.
Now, what’s on the docket for today? First, I want to get Jekyll Scheduler working, but I haven’t started work on that. Let’s figure out the component parts I need to set up.
I need a URL for the entire project to point to. This can wait.
Make the button trigger the build properly - don’t use a refresh if you can help it.
Let’s go do this now. It’s 11:06.
Ok, now it’s 1:00. I’ve made that work. I’ve also made more progress, in general; I’ve enabled a form to save the repository that you want to refresh, and I’ve also saved that to the user object in the MongoDB database. I’ve also managed to figure out how to use my mLab instance locally, and how I am going to enable OAuth on the server and locally using env vars. That took a bit longer than it should have, and I should have gotten a lot of the bugs I ran across yesterday, but I’m doing good work here.
Next up: Add the actual scheduler ability. For now, though, I need some food. It’s lunch time.
At 10:15 this morning, I officially passed my goal. I’ve got enough money from various sources to cover my student loan. 😃
I went to sleep at around 3:00am last night, and woke up at 8:00 this morning. There were a few tweets - some from Kristof. When I checked my email a few minutes later, I had been given $25 - thanks, Kristof!
The rest of the tweets were from Andrew Nesbitt, who runs quite a few projects on Open Collective. A short video call later, and I’m going to be doing a documentation and community audit of splitrb. My normal rates for this work on Maintainer Mountaineer are $500 for an org. But Andrew also wants me to look at 24PullRequests and Octobox, all using Open Collective money, which means the goal is passed. He’s not worrying about me doing it today, and I’m not worried about that, either - the lion’s share of the money that helped with this goal came from a two-week contract I’ll be doing with another alumnus of the altMBA, after all. But for all intents and purposes, my goal has been reached.
I’m super happy and excited. I did not expect to actually reach this, and not without bending over backwards to try and market some saas product. But - I didn’t have to. People reached out, I’m providing solid value for my dollars, and everyone goes home happy.
Being free to bill now and do the work later frees me up today to work on what I want to do - which is get this Jekyll scheduler thing working. So, that’s my plan for the rest of the day. I may fiddle around here and there with some other things - I have some drawings I want to make and install in a local cafe later today - but for now, let’s get on with my little Mongo // Heroku // GitHub // Node // Express // Stripe integration project.
At some point, one must admit that there are rapidly diminishing returns for effort. I’ve been sitting here for the better part of thirty minutes simply trying to have a button in a form do… what, exactly? I’m not mad, I’m just incredibly tired.
Makes sense. I’ve had a very productive evening. Shortly before 10:00 I headed out to a chess cafe nearby that is open until midnight, and I coded there with a friend of mine (and also, curiously, a client. Thanks Dean.). I was working on my application. I gave up on using GitHub apps as an authentication protocol for working with GitHub Pages - it doesn’t work as they have that weird block on integrated bots calling the Jekyll build. However, I can call the build with an OAuth token. So, I installed a boilerplate I found that used Node, MongoDB, Pug.js, Express, and Passport. I spent an hour and a half getting OAuth working - likely my fastest time, ever. I threw up a Heroku website. And I was able to sufficiently build an app that allowed me to login, click a button, and ask GitHub to rebuilt my GitHub Pages app. I am proud of that.
That’s something that is actually pretty useful, for other people. Anyone who wanted to have Jekyll builds without pushing commits - you can do that now, on my site. But I am going to tweak it a bit and make it better.
Make the button trigger the build properly - don’t use a refresh if you can help it.
Allow users to specify what repository they want to be refreshed. Give them the option of adding several. (Should I save this for a later version?)
Save their repository settings to a cronjob and have Heroku run it every ten minutes.
Polish up the design on the front page of the website.
Add a Stripe integration and request money for running the scheduler.
Make an easy install option, where you will add a PR setting _config.yml to have future:false set up.
Make an open source version?
Test with other users.
This should all be doable relatively easily, although there are probably some dragons in there. But I’m excited. I’ve designed, iterated, and built most of a pretty useful webservice that I’ll be able to sell. That’s good! I also need to find another, final contract tomorrow, if this doesn’t make enough. I haven’t gotten to a few other business ideas I had; namely, the adventure site, and the art site, and the machine learning project… that’s just how it is going to go, this weekend, I think. I can only do so much.
Ok, the last three hours has been a bit of a whirlwind. I ran into an issue where GitHub actually doesn’t allow you to reset your build yet using the API if you are a bot. This wasn’t documented by GitHub in their API, so I’m at the bleeding edge of what they’re doing. That’s reassuring.
After spending a while trying to hack this by making an empty commit message and pushing that every hour, I’ve realized a few things. First, I shouldn’t be doing this - it’s a way of dirtying up the commit history. Secondly, I should wait a bit. I don’t want to actually add thousands of commits, which is what this would do.
Instead, there’s another solution I should look into: using OAuth permissions. This works, I know, because I’ve done it using curl from my terminal. So, the next step is to actually just get an OAuth app running on Heroku and using that to log permissions and set a scheduler to hit GitHub. I historically have had a lot of difficulty with OAuth, and with storing logs, so I’m a bit worried, but I think that this should be doable fairly easy. It also gives me the added benefit of being able to charge users for scheduling posts by adding a Stripe dashboard on the front end of that app.
Now, it’s dinner time. I am hungry. I am going to take a break, and tackle this after dinner.
On a side note, Ricardo (my friend from this morning) was at the cafe I was working at this afternoon. Good seeing him, and he and Bruno (the other dev from the last post) had some good ideas and enthusiasm. Excited for tonight’s work.
Probot has been fun to get working. I’ve got a basic app setup, and it is logging.
You can follow along in the repository for this, here. So far, I am going really slowly, mostly because I am having issues focusing, my internet connection is slow, and I’m just not used to Probot. Here are my current immediate questions:
How do I check that the scheduler is working?
What permissions do I need? I know I need repo and user according to this post, but it doesn’t say that on this GitHub API page, and those options aren’t available for GitHub apps, anyway. So, what gives?
How can I get the logs for my builds without using the GitHub app scopes?
I just thought of a way to answer the last question - just make my own scope for testing and use that - so I am going to go and try and test that now. I’ve joined the Probot Slack, where I hope to get more answers, or I may just wait until @gr2m is done with lunch later.
While I am busy working on the Probot app, I kept looking over my monitor at another person here at the cafe who had a ton of stickers on his laptop - almost all of them about infosec, but one for Unsplash. I figure that Unsplash has a large presence here in Montréal, and this is probably one of their developers. He looked like a friendly developer, and I wanted advice - so, I walked over, introduced myself, and asked what he’s working on. Then, I explained what I’m working on, and asked if he had a couple of minutes to talk about Jekyll scheduling.
He pointed out that I really don’t need to actually have a ton of instances, and that I can use Heroku’s cronjob for this job just fine. He also thinks the dual approach is good - one paid, one not paid. So, I’m going to go forward with that. (Come to think of it, License Zero might be good for this, too).
I asked if he wanted to help out - he said he might later. I’m excited about that!
At the same time, Andrew Nesbitt of Tidelift reached out on Twitter and said that I could work at my normal fee - in this case, $75 seems to be a good amount, and is what I list on [Maintainer.io] - for auditing and doing documentation work for a project on Open Collective. I will put in an hour later today or tomorrow (time permitting) - but, for now, that generous offer is another $75 towards my goal. I’m very excited about this, because it’ll give me an opportunity to bill through my Maintainer Open Collective which I haven’t actually done yet. I can’t wait for this experiment. More on this later.
The GitHub Marketplace has a review period, and you need to install the GitHub app first. That means that it while it is possible to do that, it is unlikely to work this weekend. That’s not ideal. I can do the work now and hope for remuneration later in terms of subscriptions or donations, but there may be a better way to do this.
First, I realise now that I don’t actually have to worry about a cronjob running on another server that costs money, because I should be able to make money enough to offset the server costs. I always view coding as ‘don’t do it if you can do it for free,’ but that’s not constructive here, because it limits me. I need to get beyond that view.
So, I could set up a webapp that requests OAuth request from GitHub, and just hide it behind a small paywall, for now. Then, set up a cronjob with those keys to automatically ask GitHub to restart their builds. That architecture should work.
Of course, I could offer it for free by using Probot scheduler. I think that actually makes more sense, too.
Perhaps I should make both - and point publicly to both. If people want to pay, they should pay. If they don’t, they shouldn’t. That way, I don’t feel like I am taking money from anyone for something as silly as building open source work, which is something that makes me sleep better. The business model of making a for-profit business out of a loophole that people could see around if they only knew is something I am not OK with.
I got a comment from Twitter from someone who read my last post, pointed out where I mentioned that I could get a job but don’t, and where I mentioned that I am sad about my level of privilege. She then responded with “Oh, you poor dear. #tinyviolin”. I didn’t respond as well as I should’ve, mostly because I felt like my actual issues - the fact that I still need to find ways to overcome my debt, and that I need love and affection just like anyone else - were being minimized.
After some conversation, I realized I was taking the whole thing too hard, and that her comment wasn’t constructive, or nice. And I don’t want to engage with comments that aren’t constructive or nice. So, enough with that.
I have some thoughts about why this is art, and how it could be misperceived. This entire project has some issues, and I am - I think - aware of them.
People may not see it as art. This is an exploration of whether or not it is possible to name an issue I have in my life (in this case, debt), and, by choosing a really small deadline in which to act, to overcome it. It is an exploration, a scientific study on setting intent and simulating scarcity. It is not my career model for my life, and it is not meant to replace my job.
People may see this blog as the means of making money. It isn’t. I shouldn’t be blogging at all. I am writing here because I want to share my experience. It is a monumental waste of effort that could be better spent actually making products and services for people.
People may presuppose that this is me asking for money about my debt. It isn’t. I am not a charity case. I have enough money, right now, to pay this small loan off. What I am interested in is whether or not I can turn a liability into an asset. I chose one of my loans as an arbitrary catalyst. I plan to provide services and value for the money I receive.
People may think that I should get a job, instead. I do not believe the myth that a 9-5, regular job is the only way to make capital. In my case, it is not what has proven in the past to make me happy, and I think that there are more creative ways I can make money. Modern capitalism doesn’t demand that you be a worker, it just demands that your provide perceived value and are fiscally remunerated for that perceived value.
People may think that pointing out my hardships (debt) is not wholesome, or manly, or polite. I don’t have an answer for this one. I wish we talked about our issues more openly, as a society, because it would encourage empathy.
My sense of privilege and network are necessary for this, and it is graceless to point that out. Yes, I have privilege and an extensive network. However, I also have a right to self expression, and I also have my own struggles. Comparison of hardships doesn’t remove hardships from the person who has less. Are my issues less? Yes. Are they real? Yes. Should I use my network and position to alleviate them? I don’t see a reason why I shouldn’t. Is it perhaps more morally virtuous to ignore them and help out the less privileged all of the time? Sure, but I don’t think that that is mandatory. I’m willing to read more on this.
I’m 100% hoping that someone responds to this and helps me grow. I want to further conversation on this topic, and on whether or not this was an interesting idea.
I just got word back from GitHub. They don’t automatically run Jekyll builds when your scheduled posts are set. This means if you have future: false enabled, your future posts won’t be published.
Which means there’s a gap I can fill. I’m going to try making a Probot app, but first, or an app on the GitHub marketplace to enable this. This is a need I know a lot of people have; let’s see if I can manage to fix it.
Well, I’m rested, showered, meditated, and in a coffee shop. This morning I have to go to brunch in an hour, and I have a friend coming to this cafe in the next twenty minutes, so my time is limited. That gives me roughly 12 hours today of decent work, this afternoon (assuming I don’t do what I did last night, and bail during the late afternoon and over dinner), and then tomorrow. Not a lot of time.
However, as of last night, I do have a decent website for this project. That’s not bad. And I’ve also got a response in my inbox. I may have a largish contract in the works through someone who has been following this project and who I met in the altMBA. We’ll see if it pans out, but it looks to be around $1200 for a couple days worth of work over the next two weeks. I’ll mention more when I have that locked. But that’s awesome news, and means I’m well over half way.
I never actually stipulated that I needed to get the work done by Sunday, although I would have preferred that. Largely, again, this started as a bet with my friend Felipe - could I earn $2117.91 by Sunday night. Without legalese, I can interpret that anyway I want, really. My girlfriend offered to give me the remainder if I gave it back to her on Monday - I’ve decided this wouldn’t be fair to the spirit of the game. But a contract for work that wouldn’t be permanent or underpaid? I’m OK with that. It’s not the same as getting the job at a dépanneur, something that I’ve considered but quickly ruled out.
Someone pointed me to a video yesterday of a man saying you can make money easily, for free, by going on Craigslist, picking up stuff in the “Free” section, and then selling it on Facebook Marketplace. I found the video to be middling to insulting - time isn’t free. You can’t take a bus across town to pick up the table and then call the experience free. It’s a huge opportunity cost, and it also inevitably leads to a loss in terms of food and transport.
At the same time, what I’m doing isn’t exactly starting fresh, either. I’m intentionally capitalising on my extended professional network. This wouldn’t work if no one was watching this blog. It works explicitly because I already have a wide network, and the kind of money I’ve gotten as reflected that - individual working contracts based on my technical expertise from people who know my skills. That’s not fair, and it’s almost cheating.
I feel bad about the fact that this wouldn’t work if I weren’t a well educated, experienced white dude.
But I am that person. And I’m also in a bind. My student loans aren’t a joke, and they mean that my total net worth right now hovers at around the negative six figure mark. As much as I recognise that I am capitalising on my privilege (and here I mean the word literally, capitalising - making capital) - I’m also doing so because it’s a necessity for me to do so. When in Rome, do as the Romans do. While living in a propertarian society, be a propertarian. Could I make this money by getting a job easily and working hard 9-5? Sure. But that’s not really my style, and I continue to contend that it doesn’t have to be. (To all of the voices in my head saying “Get a job like the rest of us”, I continue to say a resounding “You’re not wanted here; go away.”)
Anyway, these are just some thoughts I have this morning. My friend hasn’t showed up and I’ve got to head off soon, so I won’t have a ton of time to plan out my afternoon after my brunch with friends. I’ll have to come back later.
Three hours after saying I’d start work on a blog, I have one up. It’s still not entirely perfect - for instance, I need to include a section that says why I am live blogging this thing, and that this site isn’t necessarily to bring in money by itself, but to point out the efforts I am doing to make money elsewhere. This is just a way of me making the entire process public, because, frankly, that’s not a bad marketing scheme.
Now I have a headache from dealing with Jekyll, although this site was one of the easier one’s I’ve built. The question is: how did my first day go?
First, I’m unhappy with the amount of breaks I took. I didn’t work from around 2:00 until around 10:00. That’s not ideal. I did work from 9:00 to 2:00, and from 10:00 to 1:00, so, that’s actually a full workday, but I’d rather not stay up this long.
Second, I wish I had been clearer from the get-go that this journaling isn’t, in itself, useful towards making money. It’s just a way for me to be able to have other people come on board and see what I am doing. I’ve spent too much time on it, time which could have been better spent actually working on products that might bring in income. Don’t focus on the project if there’s no monetization scheme if you want money, basically - by sinking all of this time into this, I didn’t sink time elsewhere. You live, you learn. At this point, I think it’s pretty set up, so I may not have to worry about that tomorrow.
Third, I wish I had been able to enrol some others easier. I had a few offers of help, but wasn’t able to bring them on board to help out. That means all of my work is just multiplied by one. Not ideal. I’ll have to work on that tomorrow.
Fourth, I wish I had built the adventure marketing site instead of this site. But I had a need I wanted to fill - how to blog like this - and now it’s done. You win, you lose. And I do like tinkering on Jekyll sites.
Overall, I had a fantastic, enjoyable day. I made some money - thanks Dean! - got some offers for more - thanks Zach! - and learned a lot. I learned what to do, and a few things not to do. Good.
Well, it took a bit longer than I expected, and it is a bit rough around the edges, but I now have a working microblog. Enough with the direct linking to GitHub markdown files, people didn’t like that.
Check it out at https://richardlitt.github.io/2117.91USD/
Finally, a small note: I am not going to be making a National Geographic covers website. It already exists. Good to know.
So, I failed at catching up with work quickly after dinner. It’s 10:00, and I am back on, after more than a few hours off.
First things first, make a checklist:
Respond to people on Twitter who have pinged me about this.
Add a list of blogposts to the front page, in the README, for now.
Add help wanted issues
Get a new website up to respond to feedback from the altMBA
I had started on making a blog out of Jekyll, but ran into some issues using the Minimal theme and editing it using GitHub Pages. Apparently, you need to copy over the default theme into a _layouts folder. I did that, but my edited version isn’t causing an index.html to appear in the _site folder when I run > jekyll serve, which means that I can’t effectively test it. I think that it might actually be better for me to just import my own theme and call it a day. So:
Import your own Jekyll theme.
However, let’s think about this a bit more. Having a Jekyll theme will lock me into Jekyll. That means:
My own asset management.
My own CDN issues I need to deal with - is GitHub enough to minimize? I’m not sure.
I could use Netlify to add functionality, but I’m stuck with Markdown.
No scheduled posts.
No automatic integration with Buffer. I’m manually doing a lot of stuff for this. Question: Can Buffer link to RSS? Yes, using Zapier. Good to know.
This last one is a dealbreaker. I want to be able to shedule posts. This suggests it is possible. Interesting. But we don’t know if GitHub actually builds them. Only one way to find out. This says it is possible, but I’ll need to manually set a cronjob in my local computer. That goes against the idea of having my own server. www-post-scheduler hacks Amazon to do this. Ugh.
Actually, the Cronjob idea is pretty interesting. It was made last year. Since then, we now have GitHub applications that can do some pretty fun stuff. I wonder if we can make a bot that automatically does this, so you don’t have to have a cronjob do it every hour. That sounds like a good thing I could sell, actually.
Interesting. I could potentially do that on Heroku, I think, but that only runs on an app that is running. That won’t scale well. What about if I start a new Now instance for each cronjob, and set this up as a GitHub App? If I do that, I can run it permanently.
Yes, it looks that that is a possibility - but, I could also use probot/scheduler to do that. This has the added benefit of coming from GitHub, which means it is less annoying, and using the GitHub Probot functionality. I could also amend the build to automatically add RSS feeds, I think, and I believe I could connect those to Buffer. That kills a lot of birds with one stone. For now, I’ve contacted GitHub support about their scheduled rebuilds if I set future:false in the Jekyll _config.yml. If I don’t have to create this functionality - ie, if I can schedule the scheduler GitHub may already use to ping every ten minutes - than all of that work is unnecessary.
Since we’re being mercurial: I’d like to set up a payment scheme where people could donate or pay me for this functionality. I’m not sure how to do that using Probot. It may not be possible. (I’m ignoring the ethics of using open source to publish monetized, because this would be open source, too - I would just monetize the service that people could run themselves.)
For now, let’s take this in a different tack. I’m blocked on using GitHub Pages, because I have this issue with scheduled posts. While I could fix it, I have bigger issues right now. For one, I don’t have a website.
Squarespace. No, I don’t like their management, and they cost a lot.
Wordpress. I don’t like this, either. It takes away all of the fun.
Tinyletter. I don’t like this - code formatting becomes a pain.
I spent the last two hours in a coffee shop, working on a single document. It happened like this: I dropped a link to this project in a few Slacks that made sense, and watched as nothing happened. Almost no reactions, and almost no comments. That’s not a good sign.
Here’s the issue: It looks, on the outside, like this is a strange venture. Why on earth am I focusing on the money? Why aren’t I focusing on the value I provide?
Those are valid points, and it’s one of the main reasons I find this whole venture to be mildly distressing. But - the money isn’t the goal, it’s just a metric. So, what do I actually want to do?
This is where Adventure branding comes in. What I would like to do more is to get paid to go on adventures, expeditions, and treks. I want to hike long distances, climb tall mountains, swim far sees. This is one of my life goals, and something that I’ve consistently wanted for years. But, I haven’t done much yet, largely due to issues involving funding.
Now that I know a bit more about being an entrepreneur, I think I know a bit more about what it would take to build a successful business around your adventure. This has surfaced recently with my work last month with Carbon Zerow, a team of four of my friends who rowed across the Atlantic from the Canaries to Antigua. It was superb helping them, but I wasn’t able to be an effective social media person for a variety of reasons: we weren’t in contact enough, I wasn’t able to sit down with all of them well before hand to plan the trip, and I wasn’t included in their original funding plans.
What I’ve just done is build a document on how to market adventures. I want to use this to help Carbon Zerow see if there is anything they should be doing now, after their adventure, and to help myself with some of my own goals I have for this coming summer. I want to run a marathon in Zermatt, hike three peaks in Appalachia, walk or run all of the Adirondack 46 High Peaks solo, and perhaps walk across the entire length of Scotland. I’d like to do all of these things with funding, and also while keeping my businesses going. I think that might work.
But, I’ll need sponsors and partnerships for this to happen, and I’ll need a super solid business plan and branding website. I know how to build this. The question is - will I be able to?
So, my idea is to build a branding business to help out current adventurers, and start building a knowledge of the ecosystem and the best sponsors, gear partnerships, and trek helpers I can find. Initially, I can offer my social media and website services to prospective adventurers at a markup, and use this to bootstrap the entire business. Each successive client will be helpful.
Looking at the competition, I wasn’t able to find a lot of results that seem relevant for small, individual teams, while looking for the terms ‘market solo expedition’ and variations on that theme. I think there’s a gap in the market here.
Now, I am going to go have dinner, play a game, relax. Then, tonight, I’ll build out my favourite kind of business: a marketing website that sells a service, which I am willing to perform on payment and when people ask for it.
I just published this post on my Patreon, in the Patrons only segment. I’m including it here as an example of what I do, and because it explains more what I am doing here.
Last night, I had a long talk with Felipe Witchger, one of my alumni friends from the altMBA. He and I have talked a few times since the altMBA finished a month ago. Through that, we’ve seen a bit more about what it means to be settling back into the humdrum life of normal productivity after a month-long sprint that forced us to ship repeatedly. For him, it means iterating on his goals, perhaps scaling back the timeline for a project. For me, it has meant freezing in my tracks again, overwhelmed by possible projects, even as I try to cut them all out.
One of the main issues I surfaced was my constant switching between negative thoughts surrounding my work life involving constraints (I’m too tired, I need more coffee, I haven’t slept, I have to do my taxes, I need a break, etc.) and positive swings that also take my focus (I need to start this project, I should do X, maybe if I journal every day, etc). Both of these negatively influence my focus. Over the course of the conversation, I realized that this framing wasn’t actually helpful. If it was, it would constructively lead to me being more disciplined. Instead, it makes me constantly doubt myself, and thus get little done.
What if I lightened up, had some fun, and instead tried to tackle the real issue behind a lot of my grievances?
You see, all of my negative thoughts and my positive escapes center around either making money or continuing avenues of thought and effort that could make me money. Why? Because I have an incredible amount of debt that continues to weigh me down. If I didn’t have the debt, I would be a bit more free to do what I want to do with my life - I would be able to set aside large swaths of time to learn, to run, to meditate, to explore nature. I don’t do that now, and I sit at a computer for most of the day, instead. I do these things because of my loans.
So, I bet Felipe that I could make $2117.91 by our next talk, on Sunday. That number comes directly from my smallest high-interest loan: it’s what is left of a Stafford loan from the US Government, currently at 6.5% APR. I want that loan gone by Sunday. If I didn’t make that goal, I’ll pay Felipe 10% of what I owe.
This morning, that’s what I sat down to do. I’m free to approach that moneymaking any way I want; there aren’t really any stipulations on how that works. And I’m free to use any resources I have.
So far, I’ve made $260 from my friend Dean, who asked me to build a website for his son, and to help out with his open source project. That’s pretty great work, and I’m looking forward to building the website; I have a very clear vision of how to do it, and it shouldn’t take longer than the four hours I am contracted for.
I have a few more thousand to make. And I can’t wait to earn it.
I decided that, instead of just trying one thing and another thing, I would keep a public log of the process. No one is asking me to do that, but it’s just what I am doing as a marketing plan. You can see that, here: https://github.com/RichardLitt/2117.91USD.
I’m a bit embarrassed by it, but within the posts I explain my rationale, and I’ve decided not to worry too much about appearances. What better way to proceed is there than to try to solve the biggest issue in my life - debt - while also ignoring all of the side projects that take more time than they give? After all, this is what I am trying to do with my life: approach all of my issues with levity and grace, and begin again each day with a beginner’s mind.
I went home, turned on Star Trek, ate some leftover roast, and had a wee meditation session / nap. Now, I feel a lot better.
I don’t like my approach to this entire thing. I feel that it is too adhoc, and not targeted. This is one of the reasons that 2tothe20th, another similar project I had (without the debt goal) a few years ago failed. I shouldn’t fall into this trap, but I did.
I also felt a bit rejected by the guy on Twitter not following up. I should have seen that coming, and that’s the risk of reaching out in that way. I can’t melt iron to make tools without sometimes getting burned. Moving right along.
What’s next for me? Well, I want to choose a particular project. I’m not sure what that is. But I also do need to get through my emails and my general projects this afternoon, and to get to my newsletters. I’m going to go and market this whole project now by dropping it in my various communities (like I mentioned in Marketing This Project) now, and then slash and burn my inbox while I let comments filter in.
Buffer doesn’t have a public SDK or API that they’re using right now, which basically means I’d be stuck implementing a basic one myself or using the unofficial version. I think that would work, but I think the whole Buffer idea is putting the cart before the horse - this isn’t a massive need for me at the moment, and I don’t think it’s the most lucrative for the next few days. I reached out to their Director of Engineering on Twitter about getting an email for Maintainer. That might work, but if it doesn’t, that’s OK. I think I can help them there, and in the long term, so it’s not really in the spirit of this sprint - that’s just basic marketing.
And now I am really hungry, and worried I rushed that whole connection. Ah well. We’ll see!
So, now I’m hungry. I’ve made $10. Time to put all of this on the backburner and go and let my passive mind deal with things for a bit. Taking a break will help me be refreshed later.
My BPM is apparently at 75; I thought it would be higher. I think I just have low blood sugar right now, as I haven’t eaten in five hours. Ok, let’s go do that.
I’ve been working on this project for a couple of hours now. I’ve made some money, which is great, and I’ve had a lot of personal connections come forward and make some stuff happen. But I’m afraid I am limiting myself to people on Twitter. I want more than that. I haven’t marketed this to any of my alumni networks, or my newsletters.
I think it is time I did that. So, this is the time to figure out that plan. Networks to reach out to:
Make Awesome Shit (personal friend’s Slack)
Open Source Montreal
Ghost Influence // Elevation Mavericks
What services am I pitching to each of these? For instance, I could easily reach out to a few networks where the main thing people would need would be websites. But I don’t necessarily want to build websites for people. I want to build beautiful art things and/or help make people’s lives better. So, that’s really not that useful.
One thing I could do would be to reach out with ads for various small projects:
Nomad As Fuck
The Travel Shelf
Word Hoard Press
The User Is My Mom
The User Is Drunk
The User Is Sober // UX Reviews
Carbon Zero Expeditions
For each of these, I might be able to actually sell the individual services at a premium, or plan new ways of making money and marketing them in the short term. That’d be worth spending some time with.
Professional networks are also interesting. The timing of this project is bizarre; I basically can’t depend on any money being spent from businesses. It’s got to be from persons, as the weekend cuts into most active working hours for people.
Aside: I keep getting drawn into conversation with Thomas, and my ability to focus is flagging. I need to go home and eat.
Ok, let’s start with the easiest to market: the main project, to the main lists. How can I do that easiest? Probably by just dropping the link in, and by asking how I can help people. I want people to think about how they could use my ingenuity and effort for them, not just for myself - otherwise, this turns into begging, not into a desire for exchanges which use fiat currency as the currency.
After closing my first sale, I got a bit distracted. First, I was going to run home to work on my lunch. Then, however, my friend Thomas Getgood walked into my cafe. Thomas is an awesome programmer, who brews his own beer, roasts his own coffee, and sometimes tries to build a fusion reactor in his apartment. He wants to work on machine learning this weekend.
As it happens, I think that sounds cool. I proposed a deal; let’s see if we can find a project, and I’ll give him half of any proceeds we might make by marketing it and helping code it.
So, we spend a bit thinking about what we could do. I was thinking about a running newsletter and app, but then discarded that as not being easy enough with AI.
I put Thomas onto research by Charles Sutton in Edinburgh, who does this sort of comparison (I almost applied to a PhD under him, years ago). For now, he’s reading away, and I’m thinking about the next thing I can do.
@flexdinesh also messaged about possibly helping out. I’ve got to think about a way to bring in more developers on this project.
Probot is an awesome idea that Brandon Keepers made for GitHub. Basically, it’s a bot system that can be utilised to do all sorts of things on open source repositories that humans don’t really have to do. One is closing old issues. Another could be not merging PRs unless they are ready for merging.
You can read about Probot here: http://probot.github.io/
I just installed the Stale bot on The Great Suspender, which is an app that removes old tabs that you have open to save memory on your computer. If you haven’t heard of it, go check it out - especially if you have too many tabs open. Dean is the creator and only maintainer, so being able to help him out is great.
I’ve been avoiding using Probot too much, because I don’t necessarily think that having bots is great for OSS. I code because I want to interface with humans, not with automation. However, for some maintainers, the cost of doing work without the bots is actually too high - so, they’re a good compromise.
@deanoemcke and I jumped on a call to talk about his project for his kid’s art. Basically, Sun Oemcke makes some pretty great art, and Dean wants to sell the art to help pay for Sun’s education. Dean himself is a programmer, but needs some help getting off of his butt and building this website. By paying me to design the site and get it up and off the ground, he’s able to bootstrap it forward. I also am going to plan the marketing strategy for it for the year going forward, which sounds fun, too.
We had a 15 minute video hangout to discuss the project. At the end, we’ve decided on 4 hours at $250USD total. I’ll probably throw in another hour of work at the end, too, but that should be enogh to build the whole site I’ve already prototyped on paper
I’m very excited about this. It’s a ton of fun, and I think I’ll enjoy working on this project - mostly because it’s art, it helps Sun go to college, and I like working with Dean. So, scheduling time away for that.
Started a new way of writing these. Just number them, don’t write the heading until afterwards. Then, rename them. By the way, I am writing these in Atom, although iA Writer is my favourite writing program. Atom is closer to the code.
I had some weird issues with Buffer. It was hard to set the time for close tweets - I had to manually click the right time. I wonder if there is an easier programmatic way. Something to look into. No interaction with those recent tweets either - worrying?
I just had my call with Brian. He and I are going to work on the marathon training for July together, now, as accountability partners. Once a week setups.
Look into programmatic Buffer posting
Schedule a marathon training meetup with Brian next week
Ask about what runkeeper he uses
He also said he was reading Ukrainian National Geographics. I am curious about what those look like. Might be fun to start a National Geographic covers website. I’ve asked him to email the National Geographics covers he has to me as pictures. This might be the right time to learn flexgrid.
Set up National Geographic website
This post is not really coherent. I’m going to wait posting it until something more meaningful happens.
I’ve pinged a few developers about the API, there. I’m going to contact my personal contact at Buffer, too - he might be interested in @mntnr’s work, I think. That might be a good venue.
One idea that occurs to me is to build a simple scheduler for Buffer’s API, and release it as open source. Make a CLI tool for it, or an app online where people can pay for using it by just typing in dates. It’s an idea.
I’m worried about the effect that this will have on my reputation. “Richard, he’s such a scrounger,” is the first thing I’d expect people will hear. “He could have been a great scientist / novelist / keyboardist, but instead he does stupid experiments like this.” That’s the voice in my head right now. “This is just like the User Is Drunk. Charging ahead without thinking about what it looks like.”
I don’t particularly like or want to listen to those voices. For one, this isn’t like the user is drunk. I have a specific need. For two, I don’t think that people are actually that hard on me - I’m my worst critic. For three, this is - above all else - art. It’s an exploration into what is possible, into different ways of living as a human. That’s what I am here to do! Have fun, and explore different modes of living.
Also, while I’m at it, I need to find a way to get rid of some of the shackles of debt. Debt is pernicious, and being in the capitalist system is awful. I’m constantly judging myself and others by how much money I have to freely spend, and I don’t like myself when I do that. I’d rather be free of it and do things I actually want to do - write, hike, think. But I can’t do that while under the burden of the system, and student debt is the most pernicious burden I have at the moment. This is one of the ways I can get rid of that.
Why aren’t I focusing on more long term goals? I am. That’s what I do most of the time. But I personally get the most joy from small projects, and I haven’t tried this one before. So - why not? Who are you, inner critic, to tell me that that’s not right?
… and, just like that, @deanoemcke has opened an issue with a job offer for me. He wants me to set up a website to auction off his kid’s art, to pay for their education. I think this is a pretty awesome idea. I pitched $75, but I think I’d actually be happy to do it for lower. We’ll see what Dean says. Of course, he’s reading this; and, of course, I’ve seen his kid’s artwork. Dean’s a friend of mine.
That’s interesting. He was the first person I told about this project. That means that direct contact is probably the best way for me to get interest in this. There’s been some likes on Twitter, a few retweets. We’ll see how that goes.
I also got a message from Brian now. We were supposed to talk at the moment. I am going to push this post, and then call him.
Twitter said that I could reach more if I pay. It suggested $500, to reach 130k people. I don’t think I need to spend that much money for that, and it also only said I could reach Canada, Quebec, or Montreal people. Screw that. I’ll see if my local networks are interested, first.
I need a few things:
A counter to show my progress
A way for people to feel involved besides just reading. Twitter?
I just renamed this post to ‘The First Tweet’ from ‘Launching’. I’ll need to remember to name sections appropriately.
Ok, those first two things are done. Let’s start using post-mortems to do this sort of thing.
Oh, shoot, I never schedule the second post. Let’s do that now.
Around 15 minutes ago, I remembered that this is what I am doing today, and decided to just go for it. This may be an incredibly stupid idea. Here are the issues with it:
For one, I only have one day to hit up people at work. This severely limits my ability to actually sell services to companies.
Three days is an incredibly short time to sell something of worth that people are going to buy, and it’s not enough time at all to market to others.
The goal on the money as opposed to the value I provide to others is a negative. I’ll need to intentionally offset this in my thinking as much as possible. The real goal is to provided $2000 in value, not just in exchange.
(Actually, for that last point: It might be worth removing the donate buttons from my front page. That makes me feel like I am dependant on charity. I’m not. I’ll revisit this later. That may have a poor marketing aspect. For now, I’ve added in a note that I am not a charity.)
I set up this GitHub repository to be my blog, so that people can follow along. I plan to tweet about it as I go along, too. It might be interesting to make an automatic GitHub Blog to Twitter conversion kit, actually, that people could use to do things like this.
Let’s scope that out next. I’ve opened an issue for that in #1.
Well, I have a few things I need to do today.
Maintainer.io tickets. Every day, I check all of the issues that are new for my clients for whom I do issue triaging and community management. I’ve already done this today. Good.
Write a Patreon newsletter and send it to them. I’ve got a few patrons there, and they expect one newsletter a week.
Emails. I need to basically go through them and figure out what should be done. More on that when I get to it.
Review the Open Source Cities new website. I’ve been a few weeks late on this one, due to focusing on my thesis.
Brunch with Pablo?
Maybe a party tonight with Ian? Probably going to miss this, but it’s there.
I think that’s it, for my actual needs for the day. Besides that, I’m wide open.
First, let’s tweet the basic repository, and then let’s add this Introduction post to Buffer for the time being. Actually, I’m using GitHub, Twitter, and Buffer for this. Maybe I should reach out to them and ask for sponsorship? Maybe I can make a site for this blog on Netlify, too, and then reach out to them.
I’ve opened #2 and #3 just now for those. Ok, let’s go.