Gorgeous reds appearing this past weekend. Fall is my favorite time of year, colors changing daily.
We recently started using a Bunn coffee maker. The design of the unit is really simple, no fancy controls to figure out. No time to keep resetting after the power goes out. No keeping track of how long we have left until it automatically shuts off. Just fill with water, turn on and in about 1 minute, a fresh pot of coffee. It’s the best morning brewer we’ve ever had.
The simplicity of Bunn is immediately apparent when opening the box. This is what we were greeted by when we opened the box.
The software we create, regardless of platform, should be this simple. Show me how to get started. No long and boring tutorials here, no complicated user on-boarding. I think we can all learn a bit about user experience here from a brick and mortar business.
I was out trail running with a friend this past weekend when we stopped because we had taken a wrong turn. We looked down and at the base of the tree we were standing next to, we saw this rock with a message written on it. It was funny because we were off course but also a nice reminder about life in general.
I’ve been a big fan and long-time user of Sublime Text 3. Recently, I ran into a problem where Package Control stopped working. When I say, not working, I mean behaving as though I never installed it.
Attempting to install or remove packages was not even an option any longer. All menu items relating to packages was gone..yet by all accounts, Package Control was still installed.
This had been working in the past and as far as I could remember, it worked recently. I figured either an update to Sublime Text 3 had broken the Package Control or maybe another package had caused some problems.
I tried reinstalling the Package Control but nothing changed.
After much trial-and-error, I discovered an interesting section in user settings (Preferences -> Settings), name Ignored Packages. What?
I could see the Package Control package was ignored. I removed it from this section and restarted the editor.
Checking Package Control now reveals it’s running as it was before. I have no idea how this happened but I’d venture to guess a bug in a Sublime upgrade at one point.
I hope this fixes this really annoying problem for someone else.
If you’re a Ruby on Rails developer, you probably type the words bundle exec numerous times a day. I finally got tired of it and decided to do something about it.
In the context of keeping it simple, I use the ‘alias’ command and add to my .profile. I know there are more Rails recommended ways of solving this problem via binstubs but I rather not use that approach.
My solution is simple, add an alias to my .profile like this:
alias be='bundle exec '
Keen observers will notice the trailing space after the command. This space allows for alias chaining and can be helpful.
The resulting shortcut allows this:
bundle exec rspec
The ‘alias’ command is super useful and has many applications to help remove repetitive typing tasks.
I ran into a problem recently on macOS Sierra, trying to install the RMagick ruby gem. I was using ImageMagick 7 installed via HomeBrew, with this error:
Building native extensions. This could take a while...
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.
current directory: /Users/rbazinet/.rvm/gems/[email protected]_admin/gems/rmagick-2.16.0/ext/RMagick
/Users/rbazinet/.rvm/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20170203-49311-bi1omy.rb extconf.rb
checking for gcc... yes
checking for Magick-config... no
checking for pkg-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... no
Can't install RMagick 2.16.0. Can't find MagickWand.h.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
To see why this extension failed to compile, please check the mkmf.log which can be found here:
extconf failed, exit code 1
After a bit of trying to install the gem by setting the C_INCLUDE_PATH to the location of the MagickWand.h file, the gem could still not be installed. A Google search revealed the solution. It seems the RMagick gem (v 2.16.0 as of this writing) is not compatible with ImageMagick 7.
The StackOverflow articles points outthe necessary steps to get it to work:
Afterwards, the gem then installed successfully. I am including the version numbers for future readers:
This solution worked great and RMagick installed without having to jump through any other hoops. Hope this helps.
After upgrading my iMac to macOS Sierra I have experienced a few issues that I thought I’d document here, both for myself and to help others.
The latest issue I found when trying to run a rails console command for a client application. The result was a hung terminal session and this message:
ruby(50426,0x7fff96cd43c0) malloc: *** malloc_zone_unregister() failed for 0x7fff96cca000
I’ve never seen this one before and with the terminal session hung, I had no real way to debug. Thanks to Stackoverflow, the solution was pretty simple.
What I found pointed to the Skylight gem version (0.8.1) I was using. Changing the version 0.10.6, bundling and running the console again fixed the issue.
I wondered about the root cause the issue though and did a bit of research to see if I could figure out why this one gem caused such a failure. Knowing what I know about the Skylight gem and being developed at least partially using Rust, I started there. Looking at the Skylight gem source, there is indeed references to using Rust.
A bit of spelunking Rust issues revealed there were some issues with earlier macOS Sierra betas. I was using 0.8.1 of the Skylight gem, built before Rust was fixed. One in particular looked very suspect.
Everything is working great now. I hope this helps someone with this really odd error.
Nokogiri seems to be the source of many problems on my Mac and after upgrading to macOS Sierra, I wasn’t very surprised to have problem.
You may get an error similar to:
ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb Using pkg-config version 1.1.7 checking if the C compiler accepts ... yes checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no Building nokogiri using packaged libraries. Using mini_portile version 2.1.0 checking for iconv.h... yes checking for gzdopen() in -lz... yes checking for iconv... yes ************************************************************************ IMPORTANT NOTICE: Building Nokogiri with a packaged version of libxml2-2.9.4.
Suggesting using system libraries with:
gem install nokogiri -- --use-system-libraries
Which leads to other less than helpful suggestions.
It seems after the macOS upgrade and moving to Xcode 8.0, command line tools were not installed.
I was able to get Nokogiri installed by first installing the Xcode command line tools:
Then install Nokogiri using the system libraries:
gem install nokogiri -- --use-system-libraries
I hope this helps someone trying to solve a problem that seems should have been solved better by now.
I received this email as a member of Nick Disabato’s list today. I read over, multiple times, and bewildered by its purpose:
My friend Kurt recently pointed out a search engine for plagiarized content and threw some of my letters in there. He came up with thousands of examples of people who had ripped off my letters, Draft Revises marketing page, Draft’s home page, and so on.
I always knew that people were ripping me off, but it hadn’t really hit home until I started subscribing to others’ mailing lists and saw my welcome letter, word for word, sent back to me. Not only were people ripping me off, but they were doing it pretty badly: the words Draft Revise even remained in others’ marketing pages. When confronted by others, they would then blame it on contractors they had hired.
So, I should speak about this. I will come right out and say it: As a designer and writer, I don’t care if you rip off my work. Go ahead and do it. Forward this exact letter to your own mailing list. Paste a photo of my face on the front page of your website. Print Cadence & Slang’s PDF out and conduct a dramatic reading of it from the roof of your office building. The world is your oyster.
And that is where my support for this ends. As a consultant, as someone who is here to teach you the best techniques for running a successful business, it will be absolutely disastrous for you to rip off my, or anyone else’s, work.
It’s good to use a specific marketing technique or sales letter, as it helps you build on the shoulders of giants. But there is no substitute for your own voice. You must write. You must. You must write and it must be your own words. There is no other way. You must think into a text editor, and then use the text editor to get the text into the brains of your audience. There are no shortcuts to the act of original, well-considered writing.
Even worse, it is bad business to rip off anyone’s work. Stealing work makes you look bad as a writer, consultant, and thinker. You need to get to making the clackity noise now because it’ll help you develop a strong, confident voice for yourself. Please don’t use me or anyone else as a crutch for not sitting down and doing the work. And then profit.
Don’t do this, it’s just a rant. What benefit can this email have to his readers? We should be delivering content of value. This is far from valuable, written in haste and anger.
Dear reader, would you find this offensive or a waste of your time had you received it? Do you find any value in the words Nick wrote?
Last week must have been a terrible week for Smile Software and their software launch, one I never want to experience. In case you missed it, you can do a bit of searching around the web to see the result of a new and not well-planned one. The announcement was for a new version of TextExpander for Mac (v6) and iOS (4) along with a new backend service for syncing snippets.
We’ve updated our pricing model to match our new service. Instead of license purchases and upgrades on an irregular schedule, we’ve switched to a subscription model where you pay monthly or annually for your TextExpander service. This lines up with the regular costs to provide an online service. It also frees you as customers and us as developers from the upgrade treadmill. We can offer our apps free of charge. We can deliver incremental improvements as they’re ready rather than wait and package them all into a new big upgrade release. We’re really excited about what this change will allow us to offer our customers, and we hope you are too.
The problem being the new backend with monthly subscription, replacing the previous upgrade pricing. The result is a yearly fee that could be quite a bit higher than Smile Software customers were accustomed to. They welcomed feedback, and they got it.
I wasn’t happy and tweeted about it, as did many others. It appeared existing customers would be shut out from support of previous versions; either pay up, stick with unsupported software or find an alternative.
It would have been appreciated if existing customers were notified of the planned changes prior to reading a MacStories post. It seems I receive an email from Smile almost weekly, but this important news never hit my inbox.
Initial Reaction Triage
I would liked to have been a witness in the Smile headquarters as the immediate feedback started pouring in. I can only imagine there were some surprised faces. Smile did take the feedback and announce some revisions to their plans, a bit reactionary but an attempt just the same.
With regards to pricing:
Discounted upgrade pricing is available to customers of any past version of TextExpander. The details are found here. To take advantage of upgrade pricing, sign in to TextExpander.com, click your avatar at the upper right, choose My Account > Billing, and enter any prior serial number or license code. If you have any trouble, please contact support and we’ll help get it sorted.
For those happy TextExpander 5 customers:
For those who prefer to stay with TextExpander 5 for now, we intend to support it on El Capitan and the next major upgrade of OS X. Beyond that, neither we nor anyone else know what to expect of Apple or OS X. We also hope to encourage you to join the new TextExpander at some point in the future.
It didn’t seem to go far enough:
Your feedback is important and does matter. Expect an update on The State Of TextExpander (based on your comments) very soon.
Loyal customers are passionate and vocal when they feel they weren’t treated fairly. In a very short time Smile realized they had a passionate customer base.
Doing the Right Thing
One week later and I’m sure after some thoughtful conversations at Smile, I received an email with additional refined plan for the new TextExpander launch.
Our changes to TextExpander last week made a number of you unhappy, and many of you shared your passion for the product with us. We are equally passionate about TextExpander and have made these changes so that we can expand the customer base and continue to enhance the product for all users.
To some of you it may seem we don’t care about our individual customers any more and only care about business use. We care about both, and in the changing software world a single focus is not a viable long term strategy for TextExpander. We did not make these changes easily or lightly, but for the long term life of the product so we can all enjoy it and engage with it for many years to come.
Change is difficult, and we didn’t get some things right at the start. Our pricing for Life Hackers was too high. Our upgrade pricing was too high and did not extend long enough. We didn’t offer an option for users who cannot use third party cloud services or cannot purchase subscription software.
We’re listening to your feedback, and are making adjustments, effective immediately.
TextExpander 5 for Mac and TextExpander 3 + Custom Keyboard, the most recent standalone releases of TextExpander, will continue to be supported, and available for sale.
We understand this is important if you need: – private-network snippet storage – sync via Dropbox or iCloud Drive
You, and other current TextExpander customers, receive a 50% lifetime discount on the new TextExpander. This brings the yearly cost of the Life Hacker plan to $20, which is comparable to previous upgrade costs ($19.95). If you aren’t sure about the new sharing features, or just want to test the waters beyond the demo period, you can pay $2.08 monthly to experience the new features before committing to the discounted $20 annual plan. The cost for new purchasers of the Life Hacker plan is similarly reduced to $40 per year.
If you’ve already purchased an annual upgrade plan, we’ll apply two months of credit to make up the difference. Please give us a few days for this to be reflected in your account.
From our team to you, thank you for being part of the conversation that makes the community around TextExpander what it is, and helping us continue to develop and improve TextExpander.It seems Smile could have avoided the unnecessary criticism with a better planned launch. Of course, it easy to tell someone else what they should have done. I’ve handled or been part of a few software product launches myself and try to do things a bit different.
This email probably contained most of what should have been sent to customer before the MacStories post was published, days before the launch.
My Software Launch Checklist
This should be common sense, but maybe not:
- Communicate well from the beginning – Once you have a plan for a new release, make sure everyone is on the same page. This doesn’t just include those people on your team and in your company but, more importantly, your customers. Make them aware early, before the press and social media gets ahold of it. Hopefully your customers can give you feedback before the larger world has a chance to tear you apart.
- Step into your customer’s shoes – Given the plan, how do you think your customers will react? Maybe there’s nothing to react to, but maybe there is. In the case of Smile, there was a lot to react to. Current customers are why you are where you are now and they should be treated as such. In the case of a pricing change, loyal customers should know their appreciated, reward them for their loyalty.
- Be clear why the update is better – Again, this is about the customer and not about your company. You may be changing things to improve your aspects of your business such as cashflow or support, but give current customers the reasons this will be better for them. We screwed up our pricing and need more money is not a very good reason, unless of course you want to reset your customer base and start over.
- Provide a special offer, if applicable – If pricing or service terms are changing then reward the loyal customer. Give a discount or even grandfather existing users. They will appreciate you are thinking of them and in-turn know you appreciate them.
My approach isn’t magic. It isn’t revolutionary but reflects what I’ve learned over the years. Planning and communication trump bad surprises every time.
I still haven’t decided if I will upgrade to the new TextExpander. I’m not clear on why I should; features aren’t better than I have now but the pricing is fair. The story from Smile isn’t complete, they are still busy fixing things.