How Open Source Can Be an Asset for Product Managers

  • product manager

    As a product manager, you should definitely look at how open source can impact on your customer’s experience.

    As open source program offices emerge in organizations worldwide, the focus is often on developers and other technical leaders. This makes sense – the drive for an open source program office comes from developers who are already engaged in open source.

    But, as explored in the recent open source guide on starting a new open source project in your organization, as you build credibility as an open source contributor, you may want to open source your own code. Although developers are used to engaging in open source, when you look to open source your code, others in the organization will need to engage as well.

    A key participant in this process is the product manager – this person drives the direction of the product forward with input from the business, engineering staff, and user feedback. This complex job requires the product manager to manage strategy, roadmap, features, and delivery – many think of it as being the “CEO of the product.” The product manager must also be creative and collaborative to be successful, especially when looking at how to build out the product and the ecosystem surrounding it.

    So, how can the product manager look at leveraging open source as part of their product strategy?

    Filling in the gaps in product development

    Product features tend to fall into one of two gaps – features that are key differentiators and that actively sell the product, and those that just need to be there but don’t actively sell the product (often referred to features that “check the boxes”). The latter is likely an area where open source can help.

    For example, suppose you are building a task management application. The key pieces that differentiate the product would likely be ease of use, integration with key productivity applications, as well as the approach taken to managing/assigning tasks – those features are ones you’d ensure your team is best skilled at building. But what about the authentication? Or maybe iCal integration for publishing tasks on a calendar? Those are all great features, but you could leverage open source libraries or tools to add them easily without knowing the ins and outs of dealing with identity providers or the iCal spec.

    Leveraging open source this way gives you both the ability to deliver product faster and to increase functionality and stability as those tools are further developed over time.

    Enabling an ecosystem

    Thinking about that task management application, the possibilities for how people would use it are probably endless. And on top of that, your users might have specific applications they would like to integrate into it. In a proprietary model, the product owner is the full gatekeeper of such things, but an open source model lets the product thrive and build an ecosystem of applications and integrations to increase customer value.

    Ecosystem building is the holy grail for a product manager – it helps bring your application out of a silo and be relevant to more users. This gives the product manager two important assets:

    • Insight into how the product is used by the integrations being leveraged.
    • Freedom for your customer to evolve how they use the application without being blocked by product development.

    Finding talented developers

    As the product grows, so does the team to support it. How do you best identify the right person with the skills and interest in developing out that product? Start by looking at those in the community who are most active in working with the code.

    Bringing in developers to work on the team in the ecosystem ensures they have the skills to be effective right away. But since they have chosen to spend time on the code already, you know they find value in the work and are much more likely to stay with the product for the long term.

    Collaborating on hard problems

    Some technical problems are just hard, and finding the right talent to work on them may not be feasible. Open source collaboration evens the playing field and helps bring in the best talent to solving those problems, sometimes with competitors in the market.

    Managing these projects can be hard, but the projects in turn can produce amazing results. For examples of this in practice, check out projects such as the Apache Hadoop project, and Automotive Grade Linux – both of which have competitors collaborating together in a vendor-neutral forum.

    Open source is a transformational technology that enables people and organizations to innovate faster, collaborate globally, and make a different in each of our lives. As a product manager, you should definitely look at how open source can be used to make a noticeable impact on your customer’s experience.

    The post How Open Source Can Be an Asset for Product Managers appeared first on The Linux Foundation.

Tmux Commands

screen and tmux

A comparison of the features (or more-so just a table of notes for accessing some of those features) for GNU screen and BSD-licensed tmux.

The formatting here is simple enough to understand (I would hope). ^ means ctrl+, so ^x is ctrl+x. M- means meta (generally left-alt or escape)+, so M-x is left-alt+x

It should be noted that this is no where near a full feature-set of either group. This - being a cheat-sheet - is just to point out the most very basic features to get you on the road.

Trust the developers and manpage writers more than me. This document is originally from 2009 when tmux was still new - since then both of these programs have had many updates and features added (not all of which have been dutifully noted here).

Action tmux screen
start a new session tmux OR
tmux new OR
tmux new-session
re-attach a detached session tmux attach OR
tmux attach-session
re-attach an attached session (detaching it from elsewhere) tmux attach -d OR
tmux attach-session -d
screen -dr
re-attach an attached session (keeping it attached elsewhere) tmux attach OR
tmux attach-session
screen -x
detach from currently attached session ^b d OR
^b :detach
^a ^d OR
^a :detach
rename-window to newname ^b , <newname> OR
^b :rename-window <newn>
^a A <newname>
list windows ^b w ^a w
list windows in chooseable menu ^a "
go to window # ^b # ^a #
go to last-active window ^b l ^a ^a
go to next window ^b n ^a n
go to previous window ^b p ^a p
see keybindings ^b ? ^a ?
list sessions ^b s OR
tmux ls OR
tmux list-sessions
screen -ls
toggle visual bell ^a ^g
create another window ^b c ^a c
exit current shell/window ^d ^d
split window/pane horizontally ^b " ^a S
split window/pane vertically ^b % ^a |
switch to other pane ^b o ^a <tab>
kill the current pane ^b x OR (logout/^D)
collapse the current pane/split (but leave processes running) ^a X
cycle location of panes ^b ^o
swap current pane with previous ^b {
swap current pane with next ^b }
show time ^b t
show numeric values of panes ^b q
toggle zoom-state of current pane (maximize/return current pane) ^b z
break the current pane out of its window (to form new window) ^b !
re-arrange current panels within same window (different layouts) ^b [space]
Kill the current window (and all panes within) ^b killw [target-window]
  • Use the same script for updating/ upgrading

    Make sure to change the versions to the latest releases:

    #!/bin/bash set -e bpcver=4.2.1 bpcxsver=0.57 rsyncbpcver=

    Scroll through the script, know what you are doing.

    Uncomment the upgrade section(s) and comment out the install section(s)

    read more
  • Again running smartctl after all is said and done:

    smartctl --all /dev/sda

    ddrescue-smartctl-after-rescue.png ddrescue-smartctl-2.png

    Yet an old drive in itself, I run the wheels off of them, and monitor regularly as anyone should.

    read more