Skip to content

Don’t Wait for Change. Attack Yourself.

Change is hard. Challenging the status quo is scary. Hurting “the existing business” is a real concern that has short term consequences. If you don’t attack your own business – whether you’re a consultant, small business, or large corporation – someone else will. Someone else who has the pressure of a smaller budget, the focus of not being distracted by less important projects, or the freedom from red-tape, will make a game changing move. You have to be flexible and bold enough to to replace your legacy business, to create a product or service that will change or possibly destroy your current business model. As the marketing classic The 22 Immutable Laws of Marketing states, you have to attack yourself.

Continue Reading

Don’t Sell Inputs. Sell Results.

Work is often valued on the number of hours you put in. It’s complex to price work on a per-project basis. It’s easy to set an hourly rate as opposed to pricing on a per-project basis. However, there is a hard limit to return when working on an hourly basis. I was recently challenged to change the way I value and price my work, this quick comment has triggered a significant paradigm shift over the last week: You have to move to be outcome driven. Stop concentrating on inputs. All that matters is the outcome. Most of the time it doesn’t matter how you get there, as long as the goals are met (hopefully surpassed!), timelines hit, and executed within budget constraints…

Continue Reading

Cloud Based DID With a POTS Based Asterisk System

A while back I wrote about my experience setting up a business phone system with Asterisk, Polycom, and POTS. This system has been working fine over the last year, I’ve only had to dive in once or twice to fix a couple issues (which I’ll detail in a future post). However, recently someone using the phone system needed a Direct Inward Dial (DID) to their phone. I couldn’t find any concise walkthrough about how to set this up, so I’ve written down my processing in figuring this out. I knew Asterisk supported DID, and I found a guide that walked you through setting one up. If you using POTS for your calls and not a SIP trunk, DID gets tricky really fast…

Continue Reading

Billings Pro Touch Server & Client Syncing Issues

Quick tip for anyone having issues with getting their iPhone’s Billings Pro app to sync with a local Billings Pro server: I recently grabbed a Asus RT-N16 and flashed it with DD-WRT. It was working great until I was fiddling with some of the wireless settings and accidentally reset the router. After reconfiguring the router, my iPhone with Billings Pro Touch would not sync with the local Billings Pro Server. For some reason it seemed that the network tab on the server admin GUI wasn’t picking up my lastest public IP and/or reporting it to the switchboard service correctly. To fix your reported public IP: log out of the switchboard, click advanced, manually set your public IP, and login to switchboard again…

Continue Reading

MacRuby 0.12, RVM, and Gem Installation Problems

I recently jumped back into a MacRuby project that I haven’t touched in a while. I upgraded to the latest MacRuby 0.12, installed the necessary gems via macgem install, and was presented with this error:[code]Segmentation fault: 11[/code] Since I started this project my ruby setup had drastically changed: RVM, custom irbrc, and lots of other tools that I’ve found essential for productive rails development had been installed. I noticed that macgem list –local returned the list of gems needed for my rails project. Running env from the command line revealed that GEM_HOME and GEM_PATH were set explicitly in my bash env, a result of having RVM installed and a non-system ruby set as default…

Continue Reading

Social Norms vs Market Valuation

I’m reading Predictably Irrational a really fascinating book, especially for those who have any interest in economics. One of the chapters that I’ve just finished discusses the ‘two worlds’ of valuation and exchange: one which is ruled by ‘social norms’ and the other by cold rational market analysis. The interesting psychological element to these two ‘worlds’ is that once you cross the threshold into the world of market analysis, you can’t go back. The author cites an example of a day care center which created a new rule which attached a monetary file to arriving late to pick up your child. Once the fine was implemented, more parents arrived later to pick up their children…

Continue Reading

Convert MS SQL Database to CSV or MySQL

This is more of a thorny issue that you would at first expect – Microsoft does not provide an easy way out of their database if you are on a different platform. The open source (or paid!) tools available for interacting with Microsoft SQL databases on OS X are very limited. There are not any native GUIs available (to my knowledge), I’ve found that getting TDS up and running is a pain, and it seems impossible to import a .bak or ms sql insert dump. Additionally, I’ve had weird encoding + CSV formatting issues when given a CSV exported from a dump given to me. I’ve discovered a workaround to the issue that has worked reliable for very large data sets (30,000+ rows). Oracle’s SQL Developer application can connect to a ms sql database…

Continue Reading

Product Pricing in a Zero Marginal Cost Distribution Environment

Jarrod Drysdale on digital product pricing: Our strategies were very different. Sacha wrote a book and priced it relative to the cost of other books, which is the strategy just about everyone follows. Instead of that, I wrote a book and priced it based on the value it provides. Choosing a pricing strategy based on competition is a natural approach, but also a flawed one. Price competition implies scarcity—supply and demand market forces. There is no scarcity for ebooks because digital files are replicated practically for free…

Continue Reading

PHP, MS SQL, and Linux

Note: this was a draft from 2009. I never finished documenting everything, and I (thankfully!) no longer have to integrate with the MS SQL database mentioned here. However, I figured I throw this information out there in case someone was running into the same configuration issues I was. — Usually I am lucky enough that most of my clients don’t have many of their internal operations tied into their web site’s databases; if they are using MS SQL or some other database engine that isn’t open source I’m able to easily convince them to transfer their data over to MySQL. Recently I was working with a client where this wasn’t the case, there was no way around it: I would have to integrate with a MS SQL database…

Continue Reading