Language Selection

English French German Italian Portuguese Spanish

today's leftovers

Filed under
Development
Misc
  • Teaching People to Share Technology: Adafruit Founder Limor Fried

    When Adafruit founder Limor Fried was studying electrical engineering and computer science at MIT, she realized she was less interested in the electrical engineering part.

    “What I really liked to do was build stuff,” she said.

    Instead of working on her homework or thesis, Fried spent her time designing hardware projects in her dorm. She built an MP3 player way before Apple made iPods popular.

    “With electronics, you could build anything from an MP3 player to a GPS tracker,” she said.

    [...]

    “Open source hardware is a perfect middle ground. It’s inexpensive and allows you to customize the way you need it,” Fried said. “The code is there. Instructions are there. Anyone can do it. Since it’s open source, people can iterate, tweak, fine-tune to their needs. We are seeing a lot of interest in open source hardware for assistive technologies.”

    Adafruit’s hardware is working for everyone from creative hobbyists to people interested in building things for their smartphones to developers inventing products for the next industrial revolution. Adafruit also worked with computer game company Nvidia to help build its Jetson Nano Developer Kit, which lets users run multiple neural networks for artificial intelligence, machine learning and edge computing.

  • Gcc 4.2.1 to be removed before FreeBSD 13, a firm timeline
    Greetings,
    
    
    
    
    As promised for almost the past decade or so, gcc 4.2.1 will be removed
    from the tree before FreeBSD 13 is branched.
    
    
    
    
    I propose the following timeline for its removal:
    
    
    
    
    2019-08-31: disconnect gcc 4.2.1 from CI build
    
    
    
    
    Turn off -Werror on gcc 4.2.1 platforms
    
    
    
    
    Turn off all gcc 4.2.1 from universe by default (can be turned on)
    
    
    
    
    2019-12-31: Turn off gcc 4.2.1 build by default (can be turned on)
    
    
    
    
    2020-03-31: svn rm gcc 4.2.1 and friends
    
    
    
    
    2020-05-31: svn rm all non-clang platforms not supported by in-tree LLVM or
    converted to ext toolchain.
    
    
    
    
    2020-07-31: svn rm all ext toolchain platforms not supported by re@ release
    scripts
    
    
    
    
    The basic notion is that it’s long past time to have a firm plan for EOL
    gcc 4.2.1 in the tree. There is ample external toolchain support today for
    platforms that need it to build images, though that integration with
    buildworld could use some more polish. It’s now completely sufficient to
    move to the next phase of removing gcc 4.2.1 from the tree.
    
    
    
    
    We already have gcc 6.4 as an xtoolchain on amd64 in CI. This should
    somewhat mitigate the risk for cross-compiler portability. This is a
    long-established part of our CI. We want to retain gcc support for modern
    versions of gcc since its debuggability is higher. Notifications for this
    are currently turned off, but will be enabled soon. It’s expected that this
    always will be working later in the year. We’ll work to update the
    committers guide to reflect this, as well as give a recipe for testing.
    
    
    
    
    The first phase will be at the end of the month. We’ll turn off -Werror on
    gcc 4.2.1 (and MFC it to stable/11 and stable/12). We’ll then stop building
    all platforms that require it as part of CI. New warnings will come up, but
    will no longer waste developer time in trying to fix. Gcc 4.2.1 platforms
    will no longer be built as part of universe, unless you add
    -DMAKE_OBSOLETE_GCC is added to the command line. We plan on implementing
    this by 2019-08-31.
    
    
    
    
    An experimental branch will be created that will remove gcc related bits to
    expose gaps in planning and to come up with a list of action items needed
    to ensure Tier 1 platforms are unaffected by the gcc removal. The timeline
    for this is by the end of September.
    
    
    
    
    Next, we’ll turn off building gcc by default. This will effectively break
    all gcc platforms with in-tree compilers. The external toolchain support we
    have will suffice here, and patches will be accepted for whatever
    integration are needed for these platforms with our current ports /
    packages. The onus for these changes will be squarely on people that want
    the platforms to continue. However, as a stop-gap gcc building can be
    turned on for those people transitioning gcc-only platforms until gcc 4.2.1
    is removed. This will happen on or about 2019-12-31.
    
    
    
    
    After a 3 month transition period, gcc 4.2.1 will be removed from the tree.
    This will be done on or about 2020-03-31.
    
    
    
    
    After an additional 2 month transition period, all those platforms that
    have not integrated with the FreeBSD CI system, work in a make universe
    with the proper packages installed, and are shown to boot on real hardware
    will be removed from the tree. This will happen on or about 2020-05-31.
    
    
    
    
    After an additional 2 month grace period, those platforms that require
    external toolchain integration that aren’t supported by the release
    engineer’s release scripts will be removed. This  will happen on or about
    2020-07-31.
    
    
    
    
    The timeline gives powerpc, mips, mips64, and sparc64 9 months to integrate
    either into an in-tree compiler, or to have a proven external toolchain
    solution. This is on top of the many-years-long warnings about this being
    the end game of the clang integration.
    
    
    
    
    This is the proposed timeline, but should there be a significant issue
    that’s discovered, the timeline can be amended.
    
    
    
    
    Also note: the all toolchains in tree discussions are specifically out of
    bounds here. Let’s remove one compiler and get the infrastructure needed to
    make external toolchains robust before embarking on that discussion.
    
    
    
    
    Comments?
    
    
    
    
    Warner
    
  • FreeBSD 13 Is Preparing To Finally Retire GCC 4.2

    A firm timeline has been established for removing GCC 4.2.1 before next year's FreeBSD 13 release. This timeline includes dropping GCC 4.2.1 from continuous integration builds at the end of the month and turning off GCC 4.2.1 from universe by default. At the end of the calendar year they will turn off GCC 4.2.1 by default and at the end of March is when they will remove the compiler code entirely from their SVN. Next May they also intend to drop non-Clang platforms that are not supported by the in-tree LLVM or converted to an external toolchain. 

  • Designing Continuous Build Systems: Handling Webhooks with Sanic

    After covering how to design a build pipeline and define build directives in the continuous builds series, it’s time to look at handling events from a code repository.

    As internet standards evolved over the years, the HTTP protocol has become more prevalent. It’s easier to route, simpler to implement and even more reliable. This ubiquity makes it easier for applications that traverse or live on the public internet to communicate with each other. As a result of this, the idea of webhooks came to be as an “event-over-http” mechanism.

  • No, Zwift Racing Wasn’t Hacked. Yet. Sorta. Let Me Explain.

    One of the most well-known conferences from a lore standpoint is Def Con, but there are also many other huge ones such as BlackHat, SANS, and RSA, and other vendor-specific ones like BlueHat (run by Microsoft for Microsoft technologies) or government-specific ones. Again, in general the goal of these summits is to learn about security and improve security practices.

    This past Sunday at Def Con (considered one of the more rambunctious events on the circuit) a presentation was given around Zwift and ‘hacking’ it – titled “Cheating in eSports: How to Cheat at Virtual Cycling Using USB Hacks”. Now one has to understand that while in the ‘mainstream’ the term ‘hacking’ is usually akin to ‘breaking’, in the computer world, the term ‘hacking’ is often a bit more nebulous. Sometimes used interchangeably with ‘tweaking’ or ‘optimizing’, and sometimes used in the less ideal variant such as ‘credit cards were hacked’. So one has to take any usage of that term with a bit of sanity check to see what’s going on.

  • Protecting your organization against privileged identity theft

    What do the top data breaches of the 21st century have in common? Privileged identity abuse. In these breach instances, well-resourced, external actors were able to gain the credentials of users with access to privileged accounts – such as administrative, service or operational accounts – giving them the ability to collect and exfiltrate industrial-scale amounts of data.