| PDF Pg | Paper Pg | Type | Description | Fixed on | Comments |
| 13 | | SUGGEST | In chapter two, creating a new skill, it starts by instructing to use “lita new” to create a new skill, but that actually generates a new project. The handler can be created simply by typing “lita handler doubler”. Because a new project is created first and because the first chapter is still missing, it’s hard to understand what is happening and follow the steps correctly. My first thought was that we needed to use “lita new” to create the project, then get inside the directory and create the skill, but by the time I got to the part where you are supposed to push the skill to Github, it was no longer obvious what exactly I had to push. That’s when I realized I didn’t really have to use “lita new” at all.
| 2018-12-17 | |
| 18 | | ERROR | On page 18 it says to run tests again by typing “rake test” but this does not work. Typing “bundle exec spec” works.
| 2019-05-28 | Thanks for the feedback!
\n
\n```"rake test" is the method I've use to execute the tests on all the skills so far. Can we reach out to Gabi Jack to find out which OS, Ruby, Bundler, Lita, and Rake versions she's using? You can check the gem versions by going to your lita-doubler directory and typing "bundle show".
\n
\nIf we can't resolve it maybe we should update the book to say "rake test, but bundle exec spec if rake is giving you trouble".
\n
\nI just tested on:
\nUbuntu 18
\nFish shell
\nASDF version manager for ruby
\nRuby 2.5.1
\nlita 4.7.1
\nrake 12.0.0
\nbundler 1.16.2
|
| 34 | | TYPO | The instructions in the previous page say to add the slack api token in the console using the command heroku config:set SLACK_API_TOKEN=“key-goes-here” , however, in the configuration file this line config.adapters.slack.token = ENV.fetch(‘SLACK_API_KEY’, ’’) is using a different name for the key, which results in the (not very obvious to debug) error: RuntimeError: Slack API call to rtm.start returned an error: not_authed
| 2018-12-17 | |
| 22 | | ERROR | I’m getting the following error, when trying to exec lita handler for the first time:
````<…>
Bundle complete! 6 Gemfile dependencies, 30 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
val$ bundle exec lita
fatal: Not a git repository (or any of the parent directories): .git
bundler: failed to load command: lita (/opt/local/bin/lita)
NoMethodError: undefined method `run’ for Lita:Module
/opt/local/lib/ruby2.6/gems/2.6.0/gems/lita-4.7.1/lib/lita/cli.rb:77:in `start’
/opt/local/lib/ruby2.6/gems/2.6.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run’
/opt/local/lib/ruby2.6/gems/2.6.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command’
/opt/local/lib/ruby2.6/gems/2.6.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch’
/opt/local/lib/ruby2.6/gems/2.6.0/gems/thor-0.20.3/lib/thor/base.rb:466:in `start’
/opt/local/lib/ruby2.6/gems/2.6.0/gems/lita-4.7.1/bin/lita:6:in `<top (required)>’
/opt/local/bin/lita:23:in `load’
/opt/local/bin/lita:23:in `<top (required)>’
val$ lita
fatal: Not a git repository (or any of the parent directories): .git
Traceback (most recent call last):
\t7: from /opt/local/bin/lita:23:in `
’
\t6: from /opt/local/bin/lita:23:in `load’
\t5: from /opt/local/lib/ruby2.6/gems/2.6.0/gems/lita-4.7.1/bin/lita:6:in `<top (required)>’
\t4: from /opt/local/lib/ruby2.6/gems/2.6.0/gems/thor-0.20.3/lib/thor/base.rb:466:in `start’
\t3: from /opt/local/lib/ruby2.6/gems/2.6.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch’
\t2: from /opt/local/lib/ruby2.6/gems/2.6.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command’
\t1: from /opt/local/lib/ruby2.6/gems/2.6.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run’
/opt/local/lib/ruby2.6/gems/2.6.0/gems/lita-4.7.1/lib/lita/cli.rb:77:in `start’: undefined method `run’ for Lita:Module (NoMethodError)`````````
What I’m doing wrong? I use macOS with Ruby 2.6.1 installed via MacPorts, always keeping all gems up to date.
| | |
| 31 | | ERROR | “You’ll need a computer that can run Ruby 2.0 or newer” in Preface:What you Need
vs
“If you have Ruby 2.2 or newer, a working copy of gem, and Bundler, you’re ready to go.” in Chapter 1:Install Ruby
Is it version Ruby 2.0 or 2.2 that is needed?
| | |
| 57 | | TYPO | “At the end of each chapter you’ll find a seriese of challenges that present you with opportunities to expand on that chapter’s themes and techniques. ”
Typo: seriese
Suggest: series
| | |
| 57 | | TYPO | “At the end of each chapter you’ll find a seriese of challenges that present you with opportunities to expand on that chapter’s themes and techniques. ”
Typo: seriese
Suggest: series
| | |
| 28 | | SUGGEST | “A chatbot skill is a bit of code that responds to a specific question with a relevant answer. Here’s an example:
You: Lita, show me a picture of my dog
The bot: Ok, here’s one! url-removed-for-errata/fake-photo-url.jpg”
section: Preface
When to use “chatbot” and when to use “bot”? It seems like you mostly refer to actual implementations as “bot”, but maybe make the usage of the terms explicit. Lita uses the term “robot”, which I don’t favor, but as it comes up so frequently in the Lita code and documentation it likely makes sense to incorporate into your prose and early. Maybe, just say something like Lita favors the term robot, but I’ll using bot here.
| | |
| 40 | | ERROR | “For Linux and WSL users, you can get Ruby by running sudo apt-get install ruby. For macOS users, you need to install the Homebrew[3] package manager first. After that, you can get Ruby by running brew install ruby.”
section: Chapter 1 - install Ruby
That is technically inaccurate for macOS users. You don’t “need to install Homebrew” at least not for Ruby, which has come pre-installed on Mac OS X / macOS for well over ten years.
I agree using Homebrew is a good approach, but maybe use a phrase like “we’re going to use” or something.
This also reminds me that although macOS 10.13 & 10.14 come with the 2.3 series of Ruby, Ruby 2.4 is the oldest supported version. I’d recommend making that the minimum requirements of your book unless you have a compelling reason to support earlier.
ruby-lang.org: “We are planning to end the support of the Ruby 2.4 series on March 31, 2020.”
| | |
| 36 | | SUGGEST | “The examples in this book are written and tested against Ubuntu, so you’re better off starting there if you don’t have a strong need to use a different flavor of Linux.”
section 1: Linux and WSL users
The phrase “different flavor of Linux” may be better expressed as “distributions”: “different Linux distributions”.
A google search of “linux flavors” mostly shows results for distributions and where flavors is used it is used ambiguously. I like that using “flavor” opens things up for modern container-based approach, but I think currently you are still better to use “distribution”. It can be confusing as many of the distributions have flavors like Ubuntu has Kubuntu, etc. If you don’t use distribution there, then you might want to use it elsewhere, so that someone using search verses your book finds that you’ve used Ubuntu.
| | |
| 38 | | SUGGEST | “Don’t worry Windows users, there’s still good news: Microsoft has added a Linux compatibility layer to Windows 10 called the Windows Subsystem for Linux[2] (WSL) which provides a Linux command-line experience for Windows 10 users. The WSL provides an impressive feature-rich and high-compatibility Linux experience at the command line inside of a Windows environment. For the purposes of this book, let’s assume you’re using desktop Linux, macOS, or the WSL.”
the last sentence is not the same topic. It shouldn’t be part of that paragraph.
I’m also not clear why “desktop” in “desktop Linux” is mentioned here, particularly in a list with WSL.
| | |
| 37 | | SUGGEST | “Linux is preferred because so many developers build their production software using Ruby and host on a commodity cloud-based infrastructure. Because Linux has been swallowing up that market for decades now, most Ruby gems you’ll use are more likely to work on Linux and least likely to work on Windows.”
I know what you mean, but the market hasn’t existed for decades particularly “cloud-based infrastructure”. AWS EC2 was introduced in 2006.
It might be nice to mention “Linux server” here or somewhere else before chapter 4 “Deploy Lita on Your Linux Server”
| | |
| 91 | | SUGGEST | “In the next chapter, you’ll publish your new Lita bot to Heroku, a low-cost platform that’s a good fit for small Ruby tools like Lita. With Heroku, your bot can listen 24/7 in a public chat channel of your choice, such as a Slack room.”
section: Chapter 2 > Wrap-up
Why the use of “public” in “public chat channel”? Also, the sentiment is further confusing as Slack calls it’s room’s channels, so it would seem to read better if it said “chat room of your choice, such as a Slack channel.” I think Heroku would be be appropriate for bots in private chat rooms too.
In the next chapter you also use the term “public” in"
“You’ll also learn how to use Lita adapters—gems that let Lita bots log on to public chat networks like Slack or IRC”
I hate to quibble, but Slack isn’t a public network. THere are many IRC public networks. How does it read if you remove “public” here as well?
| | |
| 94 | | SUGGEST | “Don’t worry, those STDOUT logs are still captured by logger services and streamed to a central location for you to review and search at your leisure”
People don’t tend to search logs at leisure. I suspect you mean “at your convenience” or similar.
| | |
| 93 | | SUGGEST | “Heroku allows you to click a button to jump from 1 to 5 instances of your finished application and back down to 1 if load requires”
Also what does “finished” in “finished application” mean here?
“if load requires” seems too late in the sentence as load will not require back down to 1. Something like “5 instances of your finished application if load requires and then back down to 1 when load decreases”
| | |
| 98 | | SUGGEST | “On the Mac, you can use the Homebrew package manager[10] to get Heroku installed”
should be “get Heroku CLI installed” which is the term you use later on the same page
| | |
| 98 | | SUGGEST | “logged in to the Heroku CLI tool”
You don’t technically log in to the Heroku CLI, you log in to the Heroku service, so something like “logged in to Heroku using the CLI tool”
| | |
| 98 | | TYPO | “You don’t need to worry about that to your account yet”
don’t need to worry about adding that?
| | |
| 91 | | SUGGEST | “browse through some of the biggest hits”
is “greatest hits” the more common phrase?
| | |
| 30 | | SUGGEST | Although this is “Build Chatbot Interactions” and I like the iterative and interactive style so far, I’d also like to know up front more about What’s in This Book. That section is pretty sparse. The Early Praise section gives me more clues than the first chapters. I’d really like to know more about the stack, chat environments, and projects earlier.
| | |
| 57 | | SUGGEST | “Lita’s help command offers you several useful housekeeping and information tools. Try lita help and read over the list. Be sure and check out lita info and lita users.”
It’s weird to have “lita info” in the challenge as we just did that in the last section, Test the bot locally.
| | |
| 84 | | SUGGEST | “Continuous integration services, like Travis CI, help you and your Lita skills’ users build confidence in the robustness of your work. ”
Instead of “Lita skills’ users” I think it would read better if it was “bot’s users” or similar.
| | |
| 38 | | SUGGEST | I can’t figure out if “Linux and WSL users” is only meant for Windows users or should be two sections.
“The examples in this book are written and tested against Ubuntu, so you’re better off starting there if you don’t have a strong need to use a different flavor of Linux. Once you have Ubuntu-on-WSL installed, and can open a terminal, you’re ready to proceed to the next section and follow any instructions marked ”Linux/WSL“.”
Makes it sound like you can install “Ubuntu-on-WSL” on Ubuntu. Likely best to move the first part into the main text already talking about Linux as for Windows you are providing specific instructions: 1. install Ubuntu-on_WSL 2. Open a terminal.
| | |
| 12 | | ERROR | In the “Quick test your new skill” section, when I try to run bundle with version 1.3, as specified in the book on page 11 and as specified in the automatically generated gemspec file, I get a “`NoMethodError: undefined method `spec’ for nil:NilClass” error. If I delete ‘, “~> 1.3”’ from the ‘`spec.add_development_dependency “bundler”, “~> 1.3”’ line in the gemspec file, bundle runs successfully.
| | |
| 17 | | ERROR | When I was going through the “Set up a build server on Travis CI” section, my initial build failed because the automatically generated ` .travis.yml` file specified an out of date Ruby version (2.0.0). I needed to change
the rvm setting from 2.0.0 to 2.6.5 (the ruby version I run locally) for it to work, despite the fact that the book said “You shouldn’t need to change this file to make the build work.” The generated file also differs from the one in the book in other ways, even though I am using the same version of the gem as in the book (4.7.1). E.g. the value of the “script” config is “bundle exec rake” instead of “rspec spec”, there is a “before_install” config with a value of “gem update —system”, there is no “install” config like there is in the book.
| | |