• This Week in Tessel: Fun with Open Source

    Tuesday, February 28, 2017

    Hi, Tesselators!

    Engineering work feels good. You work concretely toward a solution. You learn while you work. When you fix a bug or add a feature, you get a surge of accomplishment.

    Looking for something to sink your teeth into? In this issue of This Week in Tessel, we’ll give you suggestions for a few tasks to tackle.

    Here are some open Tessel issues you can dive into. Feel free to jump in and ask questions, even if it’s something new for you!

    What’s something I can finish in an evening?

    What’s something that will let me work with peers I can learn from?

    How do I claim an issue?

    If you see an issue you’d like to work on, comment that you’re working on it and ask for any information you need.

    Comment on the issue with any progress or problems– if you’ve tried something, even if you don’t resolve the issue, it might be useful for someone else who comes along later.

    Join us on Slack while you work so we can support you!

    Other stuff we’re up to

    • Want reimbursement for materials you need to work on Tessel? Conversely, want to financially support our work? Check out Tessel’s new Open Collective page
    • We’re one of the projects for RailsGirls 2017 Summer of Code! RailsGirls is an inclusive code mentoring organization, which (despite the name) does more than just Rails. We are excited to be a part of this– applications are open if you or someone you know wants to spend three months working on open source.


    The Tessel Team

    #TWIT #this week in tessel #tessel #news #update #updates #open source #contributions #contribute

  • This Week in Tessel: Thanks for all the PRs

    Wednesday, November 23, 2016

    Hello, Tesselators!


    tessel.io is ready for a redesign

    The original design of tessel.io was focused on promoting and pre-ordering the Tessel 2, showing off its many features, modules, and example code. Now the Tessel 2 is out in the real world, available at SparkFun, Seeed Studio, and even Micro Center, so its time for tessel.io to focus on the Tessel Project and the incredible community around it. If you want to help design and build front page of an open-source hardware and software platform, check out the open issue and let us know how you want to get involved!

    Hacktoberfest Review

    Hacktoberfest was a rousing success yet again for the open-source community on GitHub. Thank you to the new and current contributors who participated because we appreciate every PR opened. There are still plenty of starter issues available for anyone who wants to get some practice in for next year’s event.

    Build cool stuff with SparkFun and Tessel 2

    Our friends at SparkFun and Bocoup put together some amazing project tutorials using parts from the Johnny-Five Inventor’s Kit, along with a few other materials. These projects are great for anyone who wants to move past the hardware basics and construct a full-featured machine or Internet-connected service with Tessel 2. If you haven’t bought the Inventor’s Kit yet, it will be a part of SparkFun’s Black Friday and Cyber Monday deals!

    Shoutout to the Tessel community

    That’s all for this week! Feel free to submit to the next newsletter. In the meantime, see you online.

    With love,
    Everyone at the Tessel Project

    This Week in Tessel is where we highlight the latest news, projects, and events, from code, to community, to hardware manufacturing.

    #twit #this week in tessel #update #updates

  • # This Week in Tessel: Hacktoberfest, Rust update, and conferences, oh my!

    Wednesday, October 26, 2016

    Hello, Tesselators



    DigitalOcean brought Hacktoberfest back to life this month to encourage more open source contributions by sharing resources for creating more approachable issues and giving out shirts & stickers to participants. Since one of our two core goals this year is to increase contributions and encourage both inclusion and accessibility to newcomers, we’ve labeled a bunch of issues for folks who want to contribute to open source and get involved with Tessel. These issues are also available after Hacktoberfest is over and available for anyone to work on.

    Local Rust Compilation

    As we iterate on the hardware and module APIs for Rust, we wanted to further improve the experience for Rust developers. Tim Ryan (@trimryan) has added support for local compilation of Rust programs in the latest release of t2-cli. You can now cross-compile Rust code for an embedded device seamlessly using t2 run. Check out the repo for instructions, try it out, and let us know how it’s working for you in the #rust-lang channel of our Slack community.

    Jon and Kelsey at JSConf Asia

    Jon McKay and Kelsey Breseman will be at JSConf Asia at the end of November to speak and host a workshop, where you can learn about hardware communication patterns and building a custom Tessel module. There is still plenty of time to grab a ticket and join them for a full 10 days of tech events!

    Cool stuff in the community:

    That’s all for this week! Feel free to submit to the next newsletter. In the meantime, see you online.

    With love,
    Everyone at the Tessel Project

    This Week in Tessel is where we highlight the latest news, projects, and events, from code, to community, to hardware manufacturing.

    #twit #this week in tessel #updates #update

  • This Week in Tessel: Special Report from Tesselcamp

    Monday, September 12, 2016

    Hello, Tesselators!

    Tessel Project leadership met up at Tesselcamp to determine the organization’s goals and main activities for the next year. In this special issue of This Week in Tessel, we’re reporting back to you:


    • We’ve set goals for the next year focusing on growing community and making it easier to use Tessel 2 in production. Read the specifics.
    • There are working groups to go with the goals, and we’d love to have you. Check them out here.
    • There are new releases out for T2 CLI (including Node 6 support) and Firmware. Plug in your Tessel and run npm i -g t2-cli; t2 update to use them.
    • Documentation now includes more of the stack.
    • Repos are now more contributor-friendly than ever with badges and standardized labels.

    Part of the @tesselproject team at Tesselcamp, photo by Flaki.

    Goals for the next year

    The two key goals for the next year are:

    1. Grow the community to increase contributions and encourage both inclusion and accessibility to newcomers.
      • Build effective working groups that can complete their tasks with measurable results.
      • Upgrade our documentation. Build more fritzing examples, API prototypes, and call out features that are currently missing from the docs.
      • Update the tessel.io website to more accurately represent the project and its plans.
    2. Support and grow the number of production deployments of Tessel in the field.
      • Research and create a guide for production-scale deployment of a Tessel project. Base this on the needs of current users.
      • Build Tessel Reach, the low-power hardware endpoints of a star network whose center is Tessel 2, so Tessel can make sense in more use cases.
      • Build first-class support for Rust API and documentation (parity with JS) and figure out JS-Rust inter-exection to provide for performant high-level coding of serious applications.
      • Investigate increasing RAM and Flash availability on Tessel or a revision of the Tessel board, reducing friction in production-level deployments.

    Read more in the Tessel Project readme.

    Working groups

    To accomplish the outlined goals, the team decided to form working groups as follows:

    • Learning WG: investigate user needs for production & write a guide on how to take a Tessel project to product scale. Also build and document GPIO/GUTS (Great Uses for Tessel in Stuff e.g. hacking a production system) projects. Learn more/get involved
    • Website WG: Create a better website for what we are & what we plan to be based on this year’s goals. Learn more/get involved
    • Rust WG: Get Rust to 1st class support
    • Reach WG: Ship Reach
    • Memory WG: Investigate strategies to make larger projects deployable on T2, possibly as a 2.1 Tessel hardware

    Since working groups are new for the project, we’re rolling out these groups slowly. The Learning and Website WG’s are our pilots. See the working groups section in the Tessel Project readme to learn more and get involved.

    Please get involved! It is our hope that working groups make it easier for people to engage with specific facets of the Tessel Project.

    Updates from the Repos

    Tesselcamp also included lots of work time. This helped us release new versions of T2 CLI, firmware, docs, and our repos!

    We recommend you update CLI and firmware with npm i -g t2-cli; t2 update so you get the benefits of our latest work.

    CLI Update

    • The node-usb module has been moved to the Tessel organization. Thanks to Kevin Mehall for being its lead developer and maintainer!
    • We’ve updated its CI infrastructure to publish binaries for macOS and Windows for all current Node versions.
    • As a result, we were also able to publish a new version of the T2 CLI. You no longer have to run Node 4.x to talk to Tessel from the command line; any Node version 4.x, 5.x, or 6.x is supported.

    Here are the full release notes for T2 CLI 0.0.27 and 0.0.28.

    Note: Tessel 2 still runs Node 4.x as it’s the current LTS (long-term support) version. The next LTS release is coming up in October, and we expect to release Node 6.x on Tessel at that time. You can follow our progress in upgrading Tessel 2 for Node 6.x support, and help us design a release process for supporting new Node versions going forward.

    Firmware Update

    The version 0.0.14 release of the Tessel firmware includes a variety of stability improvements for USB and GPIO communications.

    • This error should be long gone!
    • A few Network API bugs were squashed as well, making the returned network information more consistent.
    • The Tessel.Port.close method was added to allow closing power to individual ports, i.e. tessel.port.A.close() will turn off power to Port A. One or both ports can be opened again using tessel.open('A') or tessel.open(). More control over the power to the ports means more energy efficient projects!

    The full release notes can be found here.

    Docs Updates

    From the many recent updates to the Tessel docs, the most notable are:

    • The Debugging section now includes more documentation about Tessel 2’s full tech stack and how to interface with the Linux filesystem. This reflects the philosophy that you should be able to hack Tessel on any level, not just through the API we expose. It also helps blur the line between Tessel “users” and Tessel “contributors”.
    • The Tutorials section has new documentation on Pulse Width Modulation: what it is, how to use it, and diagrams for experimentation. We hope to do more in this space with other signal protocols in the future – please post an issue on the T2 Docs repo if there’s some electrical concept you’d particularly like to see more examples of.

    There is always more to do in documentation. Check out some of the well-outlined starter issues if you want to help the community learn!

    Contributor-friendly repo updates

    We try to make our repos as friendly as possible. A couple of new additions include:

    • We’ve added Code of Conduct badges to our active repos. This is an efficient way to explicitly link every repo to our Code of Conduct, and serves as a visual reminder to all visitors that we’re a caring community.
    • Standardized labels across our active repos make it easier to get work done. In addition to our contribution-starter label (where we take special care to point you in the direction of relevant documentation), there’s a design label for graphic design on some repos, and a discussion label for issues seeking advice and considered opinions.

    That’s all for this week!

    Usually, we’d have some links to projects and talks here, but we don’t want to wear you out with this email!

    Please feel free to submit talks, blog posts, projects, and more to the next newsletter. In the meantime, see you online.

    With love,
    Everyone at the Tessel Project

    This Week in Tessel is where we highlight the latest news, projects, and events, from code, to community, to hardware manufacturing.

    #tessel #tesselcamp #open source #open governance #update #updates #twit #goals #working groups

  • The Tessel Crash Reporter service

    Friday, September 9, 2016


    Do you want to know how the Tessel team identifies and fixes problems in the Tessel command line interface (CLI) without requiring users to reach out to the Tessel team? Say hello to the Tessel 2 crash reporter.


    The Tessel 2 crash reporter is a web service which automatically collects anonymized crash reports when a crash is detected in the Tessel 2’s CLI. Given that the CLI is one of the primary ways of interacting with your Tessel, it is important that the CLI be extremely stable and a joy to use.

    This project started during the early days of the CLI. We wanted to make sure that the team was proactively looking at and fixing issues as users encountered them. We wanted to make sure that the onboarding experience was as smooth as possible for new users.

    How it works

    Every time you use the Tessel 2 CLI, a central controller dispatches your command to an appropriate task handler. The crash reporter automatically checks for uncaught Errors and unresolved Promises in the node process that’s executing the task.

    Once the crash reporter detects a crash, it removes all personally identifiable information from the stack trace, and uploads it to the Crash reporter web service with the user’s permission. After the user opts-in the first time, subsequent crashes are automatically reported. Below is an example of what that interaction looks like:

    ERR! Detected CLI crash [Error: Testing the crash reporter] Error: Testing the crash reporter at  CrashReporter.off.CrashReporter.on.CrashReporter.sanitize.CrashReporter.sanitize.redactions.CrashReporter.prompt.CrashReporter.submit.CrashReporter.prompt.then.CrashReporter.post.CrashReporter.status.CrashReporter.test (/Users/rahulrav/Workspaces/Tessel2/CLI/lib/crash-reporter.js:177:25)
    at process._tickCallback (node.js:406:9)
    at Function.Module.runMain (module.js:449:11)
    at startup (node.js:141:18)
    at node.js:933:3
    INFO Detected a crash in the CLI. Submit crash (y/n) ?
      If yes(y), subsequent crashes will be submitted automatically.

    We put a great deal of thought into potential privacy issues, and decided to make this feature opt-in. The user can also turn off crash reporting simply by using one of the below options.

    Usage: t2 crash-reporter [options]
      --off    Disable the Crash Reporter.
      --on     Enable the Crash Reporter.
      --test   Test the Crash Reporter.
    Configure the Crash Reporter.

    The service

    The Crash reporter web service collects the crash report, and de-duplicates it using the Sim Hash algorithm. Sim Hash looks at the contents of the crash report and computes a unique signature (called the fingerprint) and also keeps track of the frequency of the occurence of the report. The service also provides a way to look at Trending crashes and also provides a full text Search API. The service itself is built using Google App Engine and the Python Runtime. The full source code for the service is here.

    Hi from tessel-crashbot

    Recently, we landed a really cool feature in the Crash reporter service. In an effort to simplify the worflow of the Tessel team, which manages all feature requests and bug-fixes using GitHub issues; the Crash reporter service uses GitHub’s API to automatically create and manage issues for every crash report. Anytime there is a new crash in the wild, the ever friendly tessel-crashbot is ready to help proactively keep track of the problem. The tessel-crashbot also updates the GitHub issue via comments when it sees an uptick in the frequency of a crash. This helps the team identify the severity of a crash report.

    Image of crashbot submission.

    #update #this week in tessel #twit #updates

February 2017

November 2016

October 2016

September 2016

August 2016

July 2016

June 2016

April 2016

March 2016

February 2016

November 2015

September 2015

August 2015

July 2015

June 2015

May 2015

March 2015

February 2015

January 2015

December 2014

November 2014

October 2014

September 2014

August 2014

July 2014

June 2014

May 2014

April 2014

March 2014

February 2014

January 2014

December 2013

November 2013

October 2013

September 2013

August 2013

July 2013