Treating hidden files right

12 years, 8 months ago
[ Linux ]

Warning, this is reasonably geeky stuff but nothing that’ll blow anyone’s minds. I’m a fan of DRY as a principle and I’m lazy.

If you’re on a linux variant then you know how key those wee little hidden files are to your life. I want my dotfiles sync’d across machines. I don’t want to have to mirror changes across machines or cp them onto new installs etc. For that reason I’ve long stored my core dotfiles under version control of some kind, svn, hg, blueturbine, whatever. If you’re not already doing this, please start. Sites like bitbucket offer free private repositories so no excuses.

That handles versioning but what about mirroring etc? In my case, I symlink my dotfiles to wherever that repository is. I keep a simple script to setup those symlinks on new machines.

Here’s an example script. Running this script blows away existing dotfiles on the current machine, by moving them into tmpDir, and creates symlinks to your versioned dotfiles. Now modifying and committing changes in one environment impacts all your setups.

There are a few formal projects out there for this but this simple solution works for me. Related, dotfiles.org is a site for sharing dot files.

# homeDir: home directory where dotfiles are located.
homeDir="/home/guyman"
# configDir: location of actual dotfiles, ie your repository dir.
configDir="/home/guyman/hg/config"
# tmpDir: A temp dir to dump files.
tmpDir="/tmp"

echo "moving any existing files into $tmpDir"
mv $homeDir/.vimrc $tmpDir/.
mv $homeDir/.bashrc $tmpDir/.
mv $homeDir/.ssh/config $tmpDir/.

echo "creating sym links"
ln -s $configDir/.bashrc $homeDir/.bashrc
ln -s $configDir/.vimrc $homeDir/.vimrc
ln -s $configDir/.ssh/config $homeDir/.ssh/config

A Co-op Incubator?

12 years, 8 months ago
[ Software Development ]

I had a great chat over pints yesterday with a friend spitballing the Startupify.me model further. There were a few key threads I wanted to share publicly.

Uniquely Canuck

One was the idea that there is something unique about us folk here in Canada. We agreed that as our startup ecosystem matures, it will be fundamentally different than similar communities in the US and around the world. Understanding how we’ll evolve is less about learning from the valley and more about contemplating who we are, who our parents, grandparents etc are. For my family, we’re closer to the farm than the valley. We’re farmers, we’re builders, our collars have more blue in them than white.

Having said that, we’re also fiercely loyal. We’re company people. For whatever reason, our parent’s generation expect us to go to school and get a good, safe job. My father worked for the same company for 43 years. He started there as a teenaged mechanic.

What does that tell us? We’re hands on, we’re going to grind it out, fill the shop floor with wood shavings. It doesn’t mean we won’t innovate and create, it just means it will come through the work not from outside it.

I’m not interested in ideas that will land on techcrunch and I’m not alone on that. Want to build golf course software? Let’s get some of us working on the ground at a few golf courses. Think there’s space for software innovation in dentist offices? Great, let’s partner with a few dentists and get some software guys in there working daily.

For us I believe we need to do the work first. Innovate from the work out. Let action uncover innovation. It fits with us and it allows us to build sound companies from the customer out.

Us, Together

In the context of startupify.me, what model allows us to share this, in everyway? I’m interested in building success and sharing it, I don’t want to own things, I don’t want employees, I don’t want to manage anyone. What is the right model that engages you? The straight up funded incubator model is out there and known, but what else is there?

In the current model I’ve briefly written up, we have two key stake holders, pre-entrepreneurs and entrepreneurs. We all need to pay our bills, we all want to build successful companies, support each other in that, and share in that success. What model effectively supports that culture?

Is there some form of co-op model that could work here? I’ve been referring to this as Broken Social Scene for startups. If the startupify.me concept appeals to you, would a co-op model make it more or less appealing? Encouraging equity exchanges among members and possibly have startupify.me have equity roles?

Basically all our interests would be highly aligned. As a collective, we would all be invested in the success of each of our startups, pre-entrepreneurs etc. (Bring on the hippie, commune jokes!)

PS: I figured a quick search was in order and outside of a lot of chicken coop sites, Hackers and Founders appear to be headed in a similar direction!

Making Your Leap

12 years, 8 months ago
[ Guelph Tech ]

I want you to be an entrepreneur.

I agree with Chris Dixon that there are two kinds of people in the world, those who’ve started a company and those who haven’t. Upon first read, that post comes off exclusionary but his first sentence says it all, “You’ve either started a company or you haven’t” and that’s a fact.

areyouSo it’s a fact, no different than saying you’ve either snowboarded or you haven’t, you’ve either skydived or you haven’t. All of which can change tomorrow. Hell, you can snowboard, skydive and start a company tomorrow.

Entrepreneurs are born right? Even if this is true, born talent has to be cultivated. In Canada we may have the beginnings of one but do not currently have a true thriving startup ecosystem.

That means most of our born entrepreneurial talent sits in a cubicle right now, reading this post twitching when someone walks by in case it’s their team lead. Are those jobs cultivating that entrepreneurial talent in any fashion? Clearly not. That talent is wasting away filling out 360 reviews, building a case for their next promotion, job title, salary raise, or simply trying not to be fired.

I’m someone who enjoys working for myself but it is not for everyone. I love defining and chasing real goals. I have a low tolerance for the gamification inside companies. At their worst, companies are thinly veiled skinner boxes. Building your own company is real. You define a customer/market and you either deliver real value or you fail. There are no buffers between the two. You can’t miss that mark but nail your 360 review in order to live another day.

Not everyone can handle those realities, which is why companies make a lot of money building and maintaining that buffer for you. That’s part of the reason we need large corporations and entrepreneurs. Companies protect you from some harsh realities and they get paid well to make decisions for you. They pimp you out and take a healthy cut on doing so. They decide what your health care should be, how much vacation you have, what time you wake up, how much money you will make, what you spend 3/4 of your life doing, etc. If you aren’t ready to be in control of all that, and more, then keep paying your company to handle that for you.

For the few of us who crave the autonomy, freedom and thrill of those realities, how the hell do you make that first step? If you were lucky enough to work at paypal or amazon in the early days then you’re set. You’ve seen it, you know what it looks like, how it walks, what it’s days look like. You’re already spending your days with Dave hammering it out. For the rest of us, the gap between corporate life and startup founder is monstrous.

In my opinion the key to bridging that gap is getting out of those environments and surrounding yourself with experienced, operating entrepreneurs. Yes, you need to pay your bills, build your network, and eventually develop an idea/project but if you have a job today the best thing you can do is immersion.

I want to help you with that. I want to move our coworking space here at ThreeFortyNine in Guelph away from being straight up coworking to being a halfway house for software entrepreneurs. For those ready to take a shot, I want to help you get there.

If any of this rings true, please have a look and see if startupify.me is for you?

This is all early stage, highly speculative so I need feedback on the concept but ultimately I need to know if you’re interested in seeing this become real, so please let me know!

Show Up or Stay Home

12 years, 8 months ago
[ Office Gossip ]

Some context…I recently stumbled into reading Primal Blueprint, credit the kindle and it’s easy ability to sample books. In that book, Mark talks about the idea of breakthrough performances. His thesis being that instead of toiling away at chronic cardio, you approach a workout like it will be your breakthrough performance. Whatever your current plateau is, if you don’t feel like you can smash through it with this next workout then take the day off and recover. Sounds like a recipe for couch surfing right? Well he suggests that instead of long workouts that break our bodies down, we focus on shorter ones that push our boundaries and allow plenty of time for recovery.

I try to make my decisions about whether to do something physical based on that ‘rule’. Do I feel like I can put in a breakthrough performance? No? Then I don’t bother and instead allow for more recovery. This recovery could be mental, physical, injury based, lack of sleep, who knows but it’s a simple measure. Show up if you’re going to push your limits or don’t bother, ie recover. It’s a nice change from that feeling of just putting in the hours, grinding it out.

The other subtle side effect here is getting you into the zone. If you did show up then you’ve now committed yourself to pushing your own limits. Otherwise, you shouldn’t be here.

All this got me thinking, what if we approached our workdays like this? Is it really any different than physical health? Show up to the office if you’re prepared for a personal breakthrough performance, otherwise stay away and allow yourself to recover until you’re ready to push through a plateau.

Why don’t we allow for more recovery in the context of work instead of the absurd three weeks vacation per year? How exciting would it be to spend your workdays pushing through personal plateaus instead of putting in the hours and grinding out another day? I’d be excited about working in an office knowing that the people here today are committed to pushing their limits. Contrast that to watching someone nod off at their desk or drag their ass into yet another meeting, well let’s not waste each other’s time.

PS: Who knows how this works in the context of essential services. It would suck to call 911 only to hear that no one in your area was prepared to have a breakthrough performance today….

Gamification isn’t new bullshit

12 years, 9 months ago
[ Software Development ]

I have to admit I’ve talked about applying gaming mechanics to applications during design stages. I can’t say it felt right but I’ll certainly think twice about it again. I’m not suggesting I won’t gamify some apps but I won’t use the term lightly having read Gamification is bullshit.

It does, however, raise some larger questions. While on the surface gamification appears to be enterprise software apps pilfering from software games, I have to say I’m not sure the software gaming space can claim ownership over anything but the term gamification. Maybe I’m missing the point but isn’t our education system an example of gamifying learning? Isn’t our demerit points for bad driving gamifying the rules of the road? Heck, where does capitalism and Canadian Tire money fit into all this?

I’m biased in that I don’t hold much love for rewards, carrots and sticks. If you’re interested, I listed some of my favourite reads on these subjects in the post Rewards Yet Again. One of my favourites is Punished By Rewards by Alfie Kohn.

I agree that gamification tends to be bullshit, however, we were gamifying long before pong came out.

More Less Distractions

12 years, 9 months ago
[ General ]

Check out this whiteboard with some quality vs quantity guidelines on it from Caterina Fake. I came across it while reading a post about how I can send emails without having to check them. Having now ditched my ‘smart’ phone with no intent of going back, I’ve become hooked on being distracted even less.

To that end, I’m back playing with the practice of only checking email at a few set times each day. Included in that is a new twist I hadn’t tried before in that I don’t check email at night. I certainly slip some days and check more than I need to but most days I’m checking my email three times a day, at 10am, 1pm, and 4pm. That means between 4pm and 10am I am a free man which means more time with my family in the evenings and way more productivity at the office in the mornings. It’s insane how difficult this practice can be to adopt after years of checking email all day long.

I’m always curious to hear how others are managing to cope with email overload? Comment below or contact me directly.

Sweet Spots and Flying Under Radars

12 years, 10 months ago
[ Software Development ]

If you haven’t read it already, I highly recommend Rob Walling‘s book Start Small, Stay Small. I’m going to ramble around a few background thoughts here so allow me some slack here…

In the book Growing A Business, Paul talks about the almost symbiotic relationship large corporations have with entrepreneurs. Rather than being a battle between the two or mutually exclusive, his thesis is that one can’t exist without the other.

“Entrepreneurial change depends on static situations, and these are provided in abundance by government, large corporations, and other institutions, including educational ones. We need both entrepreneurial and institutional behavior. Each feeds on the other. The role of the former is to foment change. The role of the latter is to test that change.”

I’m in the early stages of a new project. Ideally I’d like to fully bootstrap it myself, however, it’s likely I will raise a very small seed round to bridge the gap to revenue. What’s been interesting in that process is how people who deal in financing circles view that. When you talk about building a $1M, $5M or even $30M company, you’ll hear things like “I like the idea but it’s not a billion dollar idea”.

There was a recent VC panel in Montreal that argued this point around as well. One VC suggested you shouldn’t even come through his door unless you want to build a billion dollar company. He truly meant that to be inspirational, let’s aim high, we need more billion dollar companies.

A European based VC on that panel disputed that, taking the approach that if you want to climb Everest, your first goal should be to climb Rainier. From where I sit, there are far more examples of companies built taking the latter path.

Apple didn’t start out trying to redefine mobile computing. Patagonia started out making better pitons not an outdoor lifestyle behemoth. As well, this approach represents a more actionable first step for an entrepreneur. The idea of conceiving of a billion dollar company from scratch seems absurd to me. Does it mean I’m going to leave the door open to climbing Everest or K2 someday? Well shit ya but today I can’t even make it up the hill to the big church without losing feeling in my left arm.

So here’s the other subtlety in play here. If you’re building a $30M or less company today, you’re well under the radar of any of those large institutions. If you believe any of the above then you need to understand that the sweet spot for entrepreneurs is building these small to medium sized products and companies that the big boys are unable to downsize into. They won’t even know you exist as you work away in their blind spot.

This means you can talk with them, you can share your ideas with them and others. They are literally incapable of competing with you. Now the question is, if you start from day 1 going after a billion dollar idea, are you already setting yourself up from failure as you’re picking a fight you may not need to? Are you starting in a space that requires a large corporation instead of an entrepreneur?

Tracking Hours = Freedom?

12 years, 10 months ago
[ Office Gossip ]

I read The Good Life and How to Get It this weekend. Over the years I’ve read a whack about Great Harvest and how the Wakeman’s ran it. One of the things they discuss in this article that I’d forgotten is how they painstakingly tracked hours, down to the minute.

Having spent years consulting and having to track every minute in order to bill clients, I’ve come to view tracking hours as jail and not having to track hours as freedom. In recent years I haven’t had to track anything beyond what I deem as success and I love it. Tracking hours feels like a massive step backwards.

Reading again about how the Wakeman’s track hours got me rethinking all of this. I have a multitude of hats I wear these days. Most of those hats are my own, which is lovely. The problem with those lovely hats is that it’s tough to know when to take them off. When you work for someone else, you spend a lot of your time striving to ‘get home’. When you work for yourself, it can be easy to just keep working.

In the Wakeman’s case, they track hours in order to limit how much they work on their business. It forces them to have lives beyond work, be productive when they are working and create business systems that don’t rely on them.

I prefer tracking history and making small changes over time rather than creating prescriptive budgets. To that end, I’m starting a new experiment today where I track my hours on anything resembling a business. Once I have a month or two of data, I will review and based on that set some annual limits for myself as to how many hours per week I will work on my various projects/businesses.

If it works, it will force me to not ‘put in hours’ in my own businesses, create systems that don’t rely on me and build sustainable companies. My guess is I’ll lose patience with tracking hours before I get that far but I’ll let you know.

Tracking hours as a means to freedom, who knew?

FISI

12 years, 10 months ago
[ Software Development ]

I read about FISI while reading about SparkFun here.

FISI = screw it, ship it

While I’m sure it’s roots are in traditional products and engineering, it’s far more relevant in this web world some of us inhabit. A lot of us literally have no experience building or selling real objects. We build these amorphous things that go by terms like apps, sites and scripts.

If you were selling real world widgets, or better yet let’s make up a real world example. Your family owns a small restaurant. You grow up watching them trade their time for cash by making people breakfast. You decide you want to try selling products instead of time. Your parent’s give you permission to sell some stainless steel coffee mugs at the counter in their restaurant. You save up some cash from your paper route and buy $100 worth of coffee mugs.

Once you receive your first shipment, you unpack them and setup a lovely display at the counter and promptly sell 7 mugs on the first day. The pace continues and you can see the promised land when you’ll have your cash back and start making some. Three days after your first sale, the ugly starts.

A handful of your original customers start complain about the handle. It doesn’t fit into their car cup holders, which makes the mug almost useless for them. They aren’t asking for their money back but they aren’t happy either. As well, some of the mugs have started to leak. For those customers, you offer them their money back.

Immediately you get on the phone with the manufacturer. The good news is they’re aware of the issues, explain that their next version will remedy them so you can look forward to that when you next order. The bad news is you still have 3/4 of your order unsold. Naturally you take those unsold mugs and toss them in the trash and place another $100 order for the new and improved mugs so you can start selling again. Right?

Well clearly not. In the real world we rarely toss out perfectly good product simply because we think we can make it better. Even in the above example, there’s no proof the next batch of mugs will be any better than the previous. In fact, there’s as much chance they could be worse. When the product is software, it’s all too easy to toss out the previous batch because we’re not willing to sell it. It doesn’t represent us well, it’ll hurt our reputation, etc. The cost of manufacturing software can be easy to forget about.

The next time you’re deciding if your software is ready for market, take a moment. Think about what your sales targets were. 100, 1000 licenses? Now imagine that’s a box of 1000 widgets sitting on your desk that you’re about to toss in the landfill. FISI may be closer than you think.

DemoCampGuelph 17 is Next Week

12 years, 11 months ago
[ Guelph Tech ]

We’re set for DemoCampGuelph 17 next Wednesday June 8th. If you plan on attending, please make sure you’re signed up at next.DemoCampGuelph.com. I’m really looking forward to hearing what Mike McDerment has to share with us.

You may notice that we’re now sold out of ‘live music supporter’ tickets. Thanks to everyone who supported the tunes and a special thanks to Amy and the crew at Wildeboer Dellelce for snapping up the rest of those so we can enjoy Jessy Bell Smith.