Category Archives: Linux

All things linux

What is Continuous Integration? (CI)

Continuous Integration is a software development practice where members of a team integrate their work frequently; usually they integrate at least daily – leading to multiple per day. Each integration is verified by an automated build/test to detect integration errors as quickly as possible. This usually leads to significantly reduced integration problems and allows a team to develop software more rapidly.

A few BASH tips from an old Linux admin.

Everyone has seen these “Top 50 commands” blah blah blah….. #clickbait….

I am writing this just to make BASH a much more pleasant experience for people new and old to Linux.  It is also for any sysadmin that has simply not been introduced to some of them.

I could list tons of them, but that’s going to get a simple TL;DR for most people.  Then they will move on.  So I will list a few and lets let those digest.  Keep in mind all commands are in Linux, and may vary by distribution.

First BASH tips (Simple, but time savers):

  1.  Type ‘cd’ and you will go to your home directory for the user you are logged into.
    1. Similar to “cd” ~, however ~ can sometimes rely on the environment.
  2. To return to the previous directory you can type ” cd -“.
    1. This will return you to your previous location, not home.
  3. Type “tailf”, instead of “tail f” for the same results.
    1. Also, “tail -200” can be used instead of “tail -n 200”
  4. Use a custom “PS1” for root, and regular users.
    1. A “PS1” is the text in the login prompt. See Example to the right:
      1. Notice it is yellow
      2. Do the same but in red for root.
    2. Examples:
      1. Debian PS1 for a normal user (as seen to the right)
      2. Debian PS1 for a ROOT user.
        1. These will need to be added to the bottom of “.bashrc” in your home directory
        2. Keep in mind files starting with a . are hidden in Linux, but there.
          1. I also have MAC PS1’s public in my gists.

 

I think that is enough for today, I hope this helps make BASH your friend.

 

-M

Jasper Kits on hold…

These were for the community, and I have enjoyed designing and building these kits.  However, I am at a point now, where I do not have the time to properly maintain and build and ship them.  This is not necessarily a permanent decision, I may bring them back in the future given I have the time.

That being said, I do have a few left.  If you are interested please let me know now.  I will get an exact count soon, and update it here.  Once they are gone, I will not be building more.

With all that being said, I am still here to help with questions.  I am also still developing what I hope is a better user experience with my images.  (Version 1.6 out soon!)

If you have any questions; or would like one of the last kits, I would suggest speaking up now.  Not that I will disappear, but I will be unable to spend the time on them for a while starting soon.

I also wanted to say thank you again to the community members that are helping each other, and the new guys.  I do notice, and it is appreciated.

-M

Jasper Image V1.6 – Release Date!

I have recently had a large number of people wanting to know the exact release date for the v1.6 image. I will release it without the installer, and release the installer separately so it can be used on images that are not mine.

  • Release Date:
    February 15, 2017

I would highly suggest that if there is annoyance; or fix for the next release that it be reported ASAP to the room in our SLACK.

 

Thanks for your patience,

Matthew Curry

Google Disables Hangouts API…breaking many services.

I have seen much FUD around this, and I wanted to clarify so people are aware what Google’s Intentions are for Hangouts.  As I am a heavy user of the product, I was very surprised to see this.  It appears that Google will still keep Hangouts around, but for the ‘normal’ user demographic only.  They will be disabling their API on April 25.  This however, should not be a complete surprise.  Google has made it clear that with the arrival of their new products Allo and Duo that they are switching to an enterprise vision for many of their products.  However, they will NOT BE REMOVING IT COMPLETELY, as mentioned in the linked engadget.com article.

What does this mean for you? The ‘End User’, if just using the services at face value may not even see a difference.  However, services and sites that use the integration features will likely be affected.  They (google) have allowed for an exception, and that is if they site/service qualifies as an “Enterprise Communication Tool”, slack for example.  There won’t be many of those I expect.

Basically it comes down to this, they are ending the Hangouts API integration (publicly) on April 25th.

 

Hope that helps,

Matthew Curry

Jasper Image v1.6 – Coming Soon!

There are already several improvements to the image, and I have put out feelers for any fixes/updates/etc that I can do to make the user experience better.  I already have a few of the obvious ones, however please feel free to report them in the new slack room “image-v1-6”, or in the Forums at the following LINK.

I am already working on it being pre-installed in the future with a REST api on it.  Making it easy to integrate with anything!

I will be posting the release notes with the new updates with the new image, and here as a post.  So please keep an eye out.

 

Thanks,
Matt

How AI listens in Jasper (and others)!

 There are two basic kinds of listeners, an active and a passive.  You will not get good offline (passive listener) results for a wide variety of speech currently.  Most offline listeners are used as ‘passive’ listeners. They usually just listen for the wake word or just a few small commands.  They are very accurate but can’t sustain a large vocabulary without CPU issues.  Some are also closed source such as Kitt.ai (snowboy), and require that you train each word on their site.

The other kind, aka the “Active listener”; or the one always listening.  Would be used to listen once activated by the passive listener, and has a much more broad vocabulary.  However, these are online only. Due to the way they work (gathering metadata to increase accuracy), its just not possible currently on a small device. Examples would be standard APIs such as Google, Wit.ai, Ivona/Polly, etc.

There are projects to fix these offline issues, but they are all in the works. See my site for info on some of them. mattcurry.com

NEW Jasper Documentation!

Hello All,

First, I want to thank everyone that has been patient with me so far in getting these things done one at a time…

I know it is not easy to get some of these things completed without good documentation.  So, with the help of a few community members, I have started what is a very rough draft of our documentation.  It is neither complete, or ready….  However, we are adding information as we go, so keep a close eye.  Even feel free to clone it, and contribute.  There will be documentation on how to do both of those coming as well.  Feel free to watch here, the repository, or the Support Forums/Slack for updates.  I update them all.

If you have items you would like to see added to the documentation, I would run it by myself, or d34dman first.  If we have not already written it (there are some not committed yet); then we will just let you know to put in a PR (aka Pull Request).  Once we have both reviewed it and give it a thumbs up.  We will merge it.

Alright, all that said… Here is the link to the documentation!

 

Thanks,

Matthew Curry

Jasper Image v1.5 Released

Major Updates

NOTE:  Be sure to do a “git pull” in the “Jasper-RPI-Tools” directory to get the updated scripts.

  • Installed Home-Assistant.io
    • Script to enable Home-Assistant.io Daemon
      • It is located /home/pi/Jasper-RPI-Tools/enable-hass-service.sh
    • Config under /home/hass/.homeassistant
    • Installed in Virtual Environment
    • Installed under the “hass” user.
  • Removed clutter from rc.local
    • Was causing harmless error at boot.
  • Installed needed dependencies for the development branch
    • libmad0 * libmad0-dev
  • Created/Enabled Service for jasper “jasper-daemon”
  • Created/Disable Service for Home-Assistant.io (user needs to enable)
  • Created Script to download a specified version of Jasper/Jasper-dev
    • It is located /home/pi/Jasper-RPI-Tools/installers/jasper-repo-installer.sh
      • You can pick what branch you would like to use at clone-time
  • Ensure phonetisaurus pre-compiled/installed
  • Removed Erroneous cron entries
  • Updated the OS and all related pkgs