bra

Reducing brain damage in sport without losing the thrills

When Olympic gold medallist Shona McCallin was hit on the side of her head by a seemingly innocuous shoulder challenge, she suffered what was originally thought to be a concussion.




bra

Recovery From Mild Brain Trauma Takes Longer Than Expected: Study

"This study challenges current perceptions that most people with a sports-related mTBI recover within 10 to 14 days," said lead author Dr. Stephen Kara, from Axis Sports Medicine in Auckland, New Zealand.




bra

The U.S. needs a nationwide registry for traumatic brain injury

The congressional Brain Injury Task Force, co-chaired by Reps. Bill Pascrell Jr. (D-N.J.) and Don Bacon (R-Neb.), spoke to hundreds of people gathered at the Rayburn House Office Building. One area of focus was the development of a national traumatic brain injury registry, a vital step for getting a handle on how best to manage this difficult-to-treat condition.




bra

What life is like now for 3 people with brain injuries — and their loved ones

Ken Rekowski, Shawn Hill and Jodi Graham are dealing with COVID-19 in different ways




bra

The return of language after brain trauma

Language sets humans apart in the animal world. Language allows us to communicate complex ideas and emotions.  But too often after brain injury be it stroke or trauma, language is lost. 




bra

Own This Extensive Font Library Worth $4265 for Just $29

High-quality fonts can be really expensive and are often the most costly tool a designer needs, so when a massive saving like this comes along it’s hard to let it pass by! This brand new bundle contains 16 hand-picked typefaces, containing hundreds of individual fonts, chosen specifically for their quality and versatility. These fonts are […]

The post Own This Extensive Font Library Worth $4265 for Just $29 appeared first on Spoon Graphics.




bra

The return of language after brain trauma

Language sets humans apart in the animal world. Language allows us to communicate complex ideas and emotions.  But too often after brain injury be it stroke or trauma, language is lost. 




bra

[Podcast] How to Sell Brand Strategy

Learn how to sell strategy... Jacob Cass & Matt Davies give different perspectives on how to approach sales & the brand building process. Tune in to episode 4!




bra

The Strategic Pyramid – Brand Purpose, Mission, Vision & Values

Do you know the difference between a mission and a vision? Or the difference between a purpose and a goal? Don’t worry, you’re not the only one. Let's clarify!




bra

7 Vital Components of a Successful Brand Strategy

A brand strategy is a long-term plan that affects every facet of your business, but creating one can be confusing. We break it down into 7 essential components.




bra

Vibrant Flat Vector Planets Illustration - Free Download Pack

The galaxy is a mesmerizing place, even better throught the eyes of visual design artists around our globe, we're delighted to release another freebie for our design community. This flat vector...




bra

How To Create A Trustworthy Brand

The variables that determine business success are continually evolving. More than ever, customers want to be able to trust businesses with which they are transacting business. This involves building...




bra

Remix and make music with audio from the Library of Congress

Brian Foo is the current Innovator-in-Residence at the Library of Congress. His latest…

Tags: , ,




bra

Committed to the wrong branch? -, @{upstream}, and @{-1} to the rescue

I get into this situation sometimes. Maybe you do too. I merge feature work into a branch used to collect features, and then continue development but on that branch instead of back on the feature branch

git checkout feature
# ... bunch of feature commits ...
git push
git checkout qa-environment
git merge --no-ff --no-edit feature
git push
# deploy qa-environment to the QA remote environment
# ... more feature commits ...
# oh. I'm not committing in the feature branch like I should be

and have to move those commits to the feature branch they belong in and take them out of the throwaway accumulator branch

git checkout feature
git cherry-pick origin/qa-environment..qa-environment
git push
git checkout qa-environment
git reset --hard origin/qa-environment
git merge --no-ff --no-edit feature
git checkout feature
# ready for more feature commits

Maybe you prefer

git branch -D qa-environment
git checkout qa-environment

over

git checkout qa-environment
git reset --hard origin/qa-environment

Either way, that works. But it'd be nicer if we didn't have to type or even remember the branches' names and the remote's name. They are what is keeping this from being a context-independent string of commands you run any time this mistake happens. That's what we're going to solve here.

Shorthands for longevity

I like to use all possible natively supported shorthands. There are two broad motivations for that.

  1. Fingers have a limited number of movements in them. Save as many as possible left late in life.
  2. Current research suggests that multitasking has detrimental effects on memory. Development tends to be very heavy on multitasking. Maybe relieving some of the pressure on quick-access short term memory (like knowing all relevant branch names) add up to leave a healthier memory down the line.

First up for our scenario: the - shorthand, which refers to the previously checked out branch. There are a few places we can't use it, but it helps a lot:

Bash
# USING -

git checkout feature
# hack hack hack
git push
git checkout qa-environment
git merge --no-ff --no-edit -        # ????
git push
# hack hack hack
# whoops
git checkout -        # now on feature ???? 
git cherry-pick origin/qa-environment..qa-environment
git push
git checkout - # now on qa-environment ????
git reset --hard origin/qa-environment
git merge --no-ff --no-edit -        # ????
git checkout -                       # ????
# on feature and ready for more feature commits
Bash
# ORIGINAL

git checkout feature
# hack hack hack
git push
git checkout qa-environment
git merge --no-ff --no-edit feature
git push
# hack hack hack
# whoops
git checkout feature
git cherry-pick origin/qa-environment..qa-environment
git push
git checkout qa-environment
git reset --hard origin/qa-environment
git merge --no-ff --no-edit feature
git checkout feature
# ready for more feature commits

We cannot use - when cherry-picking a range

> git cherry-pick origin/-..-
fatal: bad revision 'origin/-..-'

> git cherry-pick origin/qa-environment..-
fatal: bad revision 'origin/qa-environment..-'

and even if we could we'd still have provide the remote's name (here, origin).

That shorthand doesn't apply in the later reset --hard command, and we cannot use it in the branch -D && checkout approach either. branch -D does not support the - shorthand and once the branch is deleted checkout can't reach it with -:

# assuming that branch-a has an upstream origin/branch-a
> git checkout branch-a
> git checkout branch-b
> git checkout -
> git branch -D -
error: branch '-' not found.
> git branch -D branch-a
> git checkout -
error: pathspec '-' did not match any file(s) known to git

So we have to remember the remote's name (we know it's origin because we are devoting memory space to knowing that this isn't one of those times it's something else), the remote tracking branch's name, the local branch's name, and we're typing those all out. No good! Let's figure out some shorthands.

@{-<n>} is hard to say but easy to fall in love with

We can do a little better by using @{-<n>} (you'll also sometimes see it referred to be the older @{-N}). It is a special construct for referring to the nth previously checked out ref.

> git checkout branch-a
> git checkout branch-b
> git rev-parse --abbrev-rev @{-1} # the name of the previously checked out branch
branch-a
> git checkout branch-c
> git rev-parse --abbrev-rev @{-2} # the name of branch checked out before the previously checked out one
branch-a

Back in our scenario, we're on qa-environment, we switch to feature, and then want to refer to qa-environment. That's @{-1}! So instead of

git cherry-pick origin/qa-environment..qa-environment

We can do

git cherry-pick origin/qa-environment..@{-1}

Here's where we are (🎉 marks wins from -, 💥 marks the win from @{-1})

Bash
# USING - AND @{-1}

git checkout feature
# hack hack hack
git push
git checkout qa-environment
git merge --no-ff --no-edit -                # ????
git push
# hack hack hack
# whoops
git checkout -                               # ????
git cherry-pick origin/qa-environment..@{-1} # ????
git push
git checkout -                               # ????
git reset --hard origin/qa-environment
git merge --no-ff --no-edit -                # ????
git checkout -                               # ????
# ready for more feature commits
Bash
# ORIGINAL

git checkout feature
# hack hack hack
git push
git checkout qa-environment
git merge --no-ff --no-edit feature
git push
# hack hack hack
# whoops
git checkout feature
git cherry-pick origin/qa-environment..qa-environment
git push
git checkout qa-environment
git reset --hard origin/qa-environment
git merge --no-ff --no-edit feature
git checkout feature
# ready for more feature commits

One down, two to go: we're still relying on memory for the remote's name and the remote branch's name and we're still typing both out in full. Can we replace those with generic shorthands?

@{-1} is the ref itself, not the ref's name, we can't do

> git cherry-pick origin/@{-1}..@{-1}
origin/@{-1}
fatal: ambiguous argument 'origin/@{-1}': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

because there is no branch origin/@{-1}. For the same reason, @{-1} does not give us a generalized shorthand for the scenario's later git reset --hard origin/qa-environment command.

But good news!

Do @{u} @{push}

@{upstream} or its shorthand @{u} is the remote branch a that would be pulled from if git pull were run. @{push} is the remote branch that would be pushed to if git push was run.

> git checkout branch-a
Switched to branch 'branch-a'
Your branch is ahead of 'origin/branch-a' by 3 commits.
  (use "git push" to publish your local commits)
> git reset --hard origin/branch-a
HEAD is now at <the SHA origin/branch-a is at>

we can

> git checkout branch-a
Switched to branch 'branch-a'
Your branch is ahead of 'origin/branch-a' by 3 commits.
  (use "git push" to publish your local commits)
> git reset --hard @{u}                                # <-- So Cool!
HEAD is now at <the SHA origin/branch-a is at>

Tacking either onto a branch name will give that branch's @{upstream} or @{push}. For example

git checkout branch-a@{u}

is the branch branch-a pulls from.

In the common workflow where a branch pulls from and pushes to the same branch, @{upstream} and @{push} will be the same, leaving @{u} as preferable for its terseness. @{push} shines in triangular workflows where you pull from one remote and push to another (see the external links below).

Going back to our scenario, it means short, portable commands with a minimum human memory footprint. (🎉 marks wins from -, 💥 marks the win from @{-1}, 😎 marks the wins from @{u}.)

Bash
# USING - AND @{-1} AND @{u}

git checkout feature
# hack hack hack
git push
git checkout qa-environment
git merge --no-ff --no-edit -    # ????
git push
# hack hack hack
# whoops
git checkout -                   # ????
git cherry-pick @{-1}@{u}..@{-1} # ????????
git push
git checkout -                   # ????
git reset --hard @{u}            # ????
git merge --no-ff --no-edit -    # ????
git checkout -                   # ????
# ready for more feature commits
Bash
# ORIGINAL

git checkout feature
# hack hack hack
git push
git checkout qa-environment
git merge --no-ff --no-edit feature
git push
# hack hack hack
# whoops
git checkout feature
git cherry-pick origin/qa-environment..qa-environment
git push
git checkout qa-environment
git reset --hard origin/qa-environment
git merge --no-ff --no-edit feature
git checkout feature
# ready for more feature commits

Make the things you repeat the easiest to do

Because these commands are generalized, we can run some series of them once, maybe

git checkout - && git reset --hard @{u} && git checkout -

or

git checkout - && git cherry-pick @{-1}@{u}.. @{-1} && git checkout - && git reset --hard @{u} && git checkout -

and then those will be in the shell history just waiting to be retrieved and run again the next time, whether with CtrlR incremental search or history substring searching bound to the up arrow or however your interactive shell is configured. Or make it an alias, or even better an abbreviation if your interactive shell supports them. Save the body wear and tear, give memory a break, and level up in Git.

And keep going

The GitHub blog has a good primer on triangular workflows and how they can polish your process of contributing to external projects.

The FreeBSD Wiki has a more in-depth article on triangular workflow process (though it doesn't know about @{push} and @{upstream}).

The construct @{-<n>} and the suffixes @{push} and @{upstream} are all part of the gitrevisions spec. Direct links to each:



    • Code
    • Front-end Engineering
    • Back-end Engineering

    bra

    NATGEO KIDS Branding Redesign Proposal

    NATGEO KIDS Branding Redesign Proposal

    abduzeedoMay 04, 2020

    Negro Studio  got a call from their friends at PLENTY to work with them on some proposals for NATGEO kids branding (rebranding). I cannot imagine the excitement that receiving a call like that might have been. For me National Geographic is one of those iconic brands. The yellow rectangle is so simple, yet recognized everywhere. It’s funny to think of these memorable brands. If I ask you the brand of a blog or social media influencer would you be able to describe it? Not for instant think about a brand like National Geographic, it’s simply a yellow outlined rectangle. 

    I know, this is not really relevant for this post, but I just wanted to highlight how cool it might have been to work on these explorations for the Natgeo Kids redesign. Here are some boards of what they've been working on!

    Branding

    Credits

    • Client: Natgeo Kids
    • Art Direction: PLENTY / Negro Studio
    • Design & Concepts: Negro Studio
    • Producer: PLENTY




    bra

    Branding and Visual Identity for Potency Design

    Branding and Visual Identity for Potency Design

    abduzeedoMay 08, 2020

    Guilherme Vissotto and Victor Berriel shared a branding and visual identity project for Potency Agency. The details about the project are quite scarce, they didn’t add any description. Based on the work itself I assume it’s for a design studio/agency. The presentation is beautiful. The color palette is also very well selected. The logo plays with white space to mix the lightning and the P. They do an excellent job, however I am not really a fan of the shadow. It adds a good depth, but in some of the examples, the shadow feels too strong. Perhaps, just the pure symbol without any effect would suffice. What are your thoughts?

    Branding and visual identity 




    bra

    Managing Your Money After a Brain Injury

    Managing money is complicated, especially for people with a brain injury who may have trouble remembering what they spent or creating a budget. Adam shares some tips from online banking to keeping a spending journal.




    bra

    At College, Move Beyond the Stigma of Asking for Help After a Brain Injury

    If extra time on a test or memory aids can make life easier during college, why not use them? Adam talks about moving past the "stigma" of using disability services and getting the help you need to succeed in college.




    bra

    BrainLine Military Blogger Adam Anicich Says Thank You and Goodbye for Now

    Adam thanks you — his blog viewers and supporters — and encourages you to continue the discussion and awareness raising about TBI and PTSD; the battle does not stop here.




    bra

    The return of language after brain trauma

    Language sets humans apart in the animal world. Language allows us to communicate complex ideas and emotions.  But too often after brain injury be it stroke or trauma, language is lost. 




    bra

    Imagine What’s Possible – On Stage /w Humans of New York Creator Brandon Stanton

    My book Creative Calling is out! Thanks for all your love, support, and help getting it out into the world. We kicked off celebrations in Seattle with over 700 people in attendance to talk about Creativity with my good buddy, Humans of New York creator, Brandon Stanton. I recorded the session for you. Hope you enjoy! FOLLOW HUMANS OF NEW YORK: instagram | twitter | website Listen to the Podcast Subscribe   This podcast is brought to you by CreativeLive. CreativeLive is the world’s largest hub for online creative education in photo/video, art/design, music/audio, craft/maker, money/life and the ability to make a living in any of those disciplines. They are high quality, highly curated classes taught by the world’s top experts — Pulitzer, Oscar, Grammy Award winners, New York Times best selling authors and the best entrepreneurs of our times.

    The post Imagine What’s Possible – On Stage /w Humans of New York Creator Brandon Stanton appeared first on Chase Jarvis Photography.




    bra

    How to Build Your Brand /w Ben Von Wong

    Back in 2012, budding photographer Ben Von Wong stopped by my photo studio in Seattle to say hello. Fast forward to present day and he’s making headlines working with some of the world’s largest brands like Nike and IBM, create work that combines art & activism. His work has been featured numerous times on Buzzfeed, Gizmodo, Mashable and the Huffington Post to name a few. So when he stopped by the CreativeLive studios not too long ago, I wanted to pick his brain one of the most common questions I get on how to stand out and build a personal brand. In this episode: Put work in your portfolio you want to be hired to do. If you shoot weddings and also muscle cars, consider separate sites. One of Ben’s main considerations for helping his project spread? Create with the headline in mind. Ben shares a little about his process to discover his unique style and thumbprint to his work. Enjoy! FOLLOW BEN: instagram | twitter | website Listen to the Podcast Subscribe   Watch the Episode  This podcast is brought to you by CreativeLive. CreativeLive is the world’s largest hub for online creative education in photo/video, art/design, music/audio, […]

    The post How to Build Your Brand /w Ben Von Wong appeared first on Chase Jarvis Photography.




    bra

    Rethink Impossible with Colin O’Brady

    Colin O’Brady is a world record holding explorer and one of the world’s top endurance athletes. Fresh out of college, Colin had a vast world of possibility in front of him when a tragic accident left him hospitalized. Unsure if he’d ever walk again, his injuries covered nearly 25% of his body, primarily damaging his legs and feet. Despite the odds, his mother encouraged him to dream big and he dared to set a seemingly impossible goal that set him on a path to rethink what’s possible. Fast forward to today, and Colin’s list of achievements is staggering. In this episode, we get into many of his harrowing adventures, including his solo, unsupported, unassisted crossing of Antartica. Even if you’re not a professional athlete or have any ambition to break world records, his story will resonate. We all need courage, a strong mindset, and pure grit to overcome obstacles, pursue big dreams, and do the seemingly impossible. A few highlights from our conversation: 1000 NOs paves the way to YES. How failure is only helping us forge and prepare us for the thing we are reaching for. The longest journey is 6 inches between your ears. Colin shares how he discovered mindset […]

    The post Rethink Impossible with Colin O’Brady appeared first on Chase Jarvis Photography.




    bra

    Committed to the wrong branch? -, @{upstream}, and @{-1} to the rescue

    I get into this situation sometimes. Maybe you do too. I merge feature work into a branch used to collect features, and then continue development but on that branch instead of back on the feature branch

    git checkout feature
    # ... bunch of feature commits ...
    git push
    git checkout qa-environment
    git merge --no-ff --no-edit feature
    git push
    # deploy qa-environment to the QA remote environment
    # ... more feature commits ...
    # oh. I'm not committing in the feature branch like I should be

    and have to move those commits to the feature branch they belong in and take them out of the throwaway accumulator branch

    git checkout feature
    git cherry-pick origin/qa-environment..qa-environment
    git push
    git checkout qa-environment
    git reset --hard origin/qa-environment
    git merge --no-ff --no-edit feature
    git checkout feature
    # ready for more feature commits

    Maybe you prefer

    git branch -D qa-environment
    git checkout qa-environment

    over

    git checkout qa-environment
    git reset --hard origin/qa-environment

    Either way, that works. But it'd be nicer if we didn't have to type or even remember the branches' names and the remote's name. They are what is keeping this from being a context-independent string of commands you run any time this mistake happens. That's what we're going to solve here.

    Shorthands for longevity

    I like to use all possible natively supported shorthands. There are two broad motivations for that.

    1. Fingers have a limited number of movements in them. Save as many as possible left late in life.
    2. Current research suggests that multitasking has detrimental effects on memory. Development tends to be very heavy on multitasking. Maybe relieving some of the pressure on quick-access short term memory (like knowing all relevant branch names) add up to leave a healthier memory down the line.

    First up for our scenario: the - shorthand, which refers to the previously checked out branch. There are a few places we can't use it, but it helps a lot:

    Bash
    # USING -
    
    git checkout feature
    # hack hack hack
    git push
    git checkout qa-environment
    git merge --no-ff --no-edit -        # ????
    git push
    # hack hack hack
    # whoops
    git checkout -        # now on feature ???? 
    git cherry-pick origin/qa-environment..qa-environment
    git push
    git checkout - # now on qa-environment ????
    git reset --hard origin/qa-environment
    git merge --no-ff --no-edit -        # ????
    git checkout -                       # ????
    # on feature and ready for more feature commits
    Bash
    # ORIGINAL
    
    git checkout feature
    # hack hack hack
    git push
    git checkout qa-environment
    git merge --no-ff --no-edit feature
    git push
    # hack hack hack
    # whoops
    git checkout feature
    git cherry-pick origin/qa-environment..qa-environment
    git push
    git checkout qa-environment
    git reset --hard origin/qa-environment
    git merge --no-ff --no-edit feature
    git checkout feature
    # ready for more feature commits

    We cannot use - when cherry-picking a range

    > git cherry-pick origin/-..-
    fatal: bad revision 'origin/-..-'
    
    > git cherry-pick origin/qa-environment..-
    fatal: bad revision 'origin/qa-environment..-'

    and even if we could we'd still have provide the remote's name (here, origin).

    That shorthand doesn't apply in the later reset --hard command, and we cannot use it in the branch -D && checkout approach either. branch -D does not support the - shorthand and once the branch is deleted checkout can't reach it with -:

    # assuming that branch-a has an upstream origin/branch-a
    > git checkout branch-a
    > git checkout branch-b
    > git checkout -
    > git branch -D -
    error: branch '-' not found.
    > git branch -D branch-a
    > git checkout -
    error: pathspec '-' did not match any file(s) known to git

    So we have to remember the remote's name (we know it's origin because we are devoting memory space to knowing that this isn't one of those times it's something else), the remote tracking branch's name, the local branch's name, and we're typing those all out. No good! Let's figure out some shorthands.

    @{-<n>} is hard to say but easy to fall in love with

    We can do a little better by using @{-<n>} (you'll also sometimes see it referred to be the older @{-N}). It is a special construct for referring to the nth previously checked out ref.

    > git checkout branch-a
    > git checkout branch-b
    > git rev-parse --abbrev-rev @{-1} # the name of the previously checked out branch
    branch-a
    > git checkout branch-c
    > git rev-parse --abbrev-rev @{-2} # the name of branch checked out before the previously checked out one
    branch-a

    Back in our scenario, we're on qa-environment, we switch to feature, and then want to refer to qa-environment. That's @{-1}! So instead of

    git cherry-pick origin/qa-environment..qa-environment

    We can do

    git cherry-pick origin/qa-environment..@{-1}

    Here's where we are (🎉 marks wins from -, 💥 marks the win from @{-1})

    Bash
    # USING - AND @{-1}
    
    git checkout feature
    # hack hack hack
    git push
    git checkout qa-environment
    git merge --no-ff --no-edit -                # ????
    git push
    # hack hack hack
    # whoops
    git checkout -                               # ????
    git cherry-pick origin/qa-environment..@{-1} # ????
    git push
    git checkout -                               # ????
    git reset --hard origin/qa-environment
    git merge --no-ff --no-edit -                # ????
    git checkout -                               # ????
    # ready for more feature commits
    Bash
    # ORIGINAL
    
    git checkout feature
    # hack hack hack
    git push
    git checkout qa-environment
    git merge --no-ff --no-edit feature
    git push
    # hack hack hack
    # whoops
    git checkout feature
    git cherry-pick origin/qa-environment..qa-environment
    git push
    git checkout qa-environment
    git reset --hard origin/qa-environment
    git merge --no-ff --no-edit feature
    git checkout feature
    # ready for more feature commits

    One down, two to go: we're still relying on memory for the remote's name and the remote branch's name and we're still typing both out in full. Can we replace those with generic shorthands?

    @{-1} is the ref itself, not the ref's name, we can't do

    > git cherry-pick origin/@{-1}..@{-1}
    origin/@{-1}
    fatal: ambiguous argument 'origin/@{-1}': unknown revision or path not in the working tree.
    Use '--' to separate paths from revisions, like this:
    'git <command> [<revision>...] -- [<file>...]'

    because there is no branch origin/@{-1}. For the same reason, @{-1} does not give us a generalized shorthand for the scenario's later git reset --hard origin/qa-environment command.

    But good news!

    Do @{u} @{push}

    @{upstream} or its shorthand @{u} is the remote branch a that would be pulled from if git pull were run. @{push} is the remote branch that would be pushed to if git push was run.

    > git checkout branch-a
    Switched to branch 'branch-a'
    Your branch is ahead of 'origin/branch-a' by 3 commits.
      (use "git push" to publish your local commits)
    > git reset --hard origin/branch-a
    HEAD is now at <the SHA origin/branch-a is at>

    we can

    > git checkout branch-a
    Switched to branch 'branch-a'
    Your branch is ahead of 'origin/branch-a' by 3 commits.
      (use "git push" to publish your local commits)
    > git reset --hard @{u}                                # <-- So Cool!
    HEAD is now at <the SHA origin/branch-a is at>

    Tacking either onto a branch name will give that branch's @{upstream} or @{push}. For example

    git checkout branch-a@{u}

    is the branch branch-a pulls from.

    In the common workflow where a branch pulls from and pushes to the same branch, @{upstream} and @{push} will be the same, leaving @{u} as preferable for its terseness. @{push} shines in triangular workflows where you pull from one remote and push to another (see the external links below).

    Going back to our scenario, it means short, portable commands with a minimum human memory footprint. (🎉 marks wins from -, 💥 marks the win from @{-1}, 😎 marks the wins from @{u}.)

    Bash
    # USING - AND @{-1} AND @{u}
    
    git checkout feature
    # hack hack hack
    git push
    git checkout qa-environment
    git merge --no-ff --no-edit -    # ????
    git push
    # hack hack hack
    # whoops
    git checkout -                   # ????
    git cherry-pick @{-1}@{u}..@{-1} # ????????
    git push
    git checkout -                   # ????
    git reset --hard @{u}            # ????
    git merge --no-ff --no-edit -    # ????
    git checkout -                   # ????
    # ready for more feature commits
    Bash
    # ORIGINAL
    
    git checkout feature
    # hack hack hack
    git push
    git checkout qa-environment
    git merge --no-ff --no-edit feature
    git push
    # hack hack hack
    # whoops
    git checkout feature
    git cherry-pick origin/qa-environment..qa-environment
    git push
    git checkout qa-environment
    git reset --hard origin/qa-environment
    git merge --no-ff --no-edit feature
    git checkout feature
    # ready for more feature commits

    Make the things you repeat the easiest to do

    Because these commands are generalized, we can run some series of them once, maybe

    git checkout - && git reset --hard @{u} && git checkout -

    or

    git checkout - && git cherry-pick @{-1}@{u}.. @{-1} && git checkout - && git reset --hard @{u} && git checkout -

    and then those will be in the shell history just waiting to be retrieved and run again the next time, whether with CtrlR incremental search or history substring searching bound to the up arrow or however your interactive shell is configured. Or make it an alias, or even better an abbreviation if your interactive shell supports them. Save the body wear and tear, give memory a break, and level up in Git.

    And keep going

    The GitHub blog has a good primer on triangular workflows and how they can polish your process of contributing to external projects.

    The FreeBSD Wiki has a more in-depth article on triangular workflow process (though it doesn't know about @{push} and @{upstream}).

    The construct @{-<n>} and the suffixes @{push} and @{upstream} are all part of the gitrevisions spec. Direct links to each:



      • Code
      • Front-end Engineering
      • Back-end Engineering

      bra

      Non-associative Frobenius algebras for simply laced Chevalley groups. (arXiv:2005.02625v1 [math.RA] CROSS LISTED)

      We provide an explicit construction for a class of commutative, non-associative algebras for each of the simple Chevalley groups of simply laced type. Moreover, we equip these algebras with an associating bilinear form, which turns them into Frobenius algebras. This class includes a 3876-dimensional algebra on which the Chevalley group of type E8 acts by automorphisms. We also prove that these algebras admit the structure of (axial) decomposition algebras.




      bra

      Finite dimensional simple modules of $(q, mathbf{Q})$-current algebras. (arXiv:2004.11069v2 [math.RT] UPDATED)

      The $(q, mathbf{Q})$-current algebra associated with the general linear Lie algebra was introduced by the second author in the study of representation theory of cyclotomic $q$-Schur algebras. In this paper, we study the $(q, mathbf{Q})$-current algebra $U_q(mathfrak{sl}_n^{langle mathbf{Q} angle}[x])$ associated with the special linear Lie algebra $mathfrak{sl}_n$. In particular, we classify finite dimensional simple $U_q(mathfrak{sl}_n^{langle mathbf{Q} angle}[x])$-modules.




      bra

      The $kappa$-Newtonian and $kappa$-Carrollian algebras and their noncommutative spacetimes. (arXiv:2003.03921v2 [hep-th] UPDATED)

      We derive the non-relativistic $c oinfty$ and ultra-relativistic $c o 0$ limits of the $kappa$-deformed symmetries and corresponding spacetime in (3+1) dimensions, with and without a cosmological constant. We apply the theory of Lie bialgebra contractions to the Poisson version of the $kappa$-(A)dS quantum algebra, and quantize the resulting contracted Poisson-Hopf algebras, thus giving rise to the $kappa$-deformation of the Newtonian (Newton-Hooke and Galilei) and Carrollian (Para-Poincar'e, Para-Euclidean and Carroll) quantum symmetries, including their deformed quadratic Casimir operators. The corresponding $kappa$-Newtonian and $kappa$-Carrollian noncommutative spacetimes are also obtained as the non-relativistic and ultra-relativistic limits of the $kappa$-(A)dS noncommutative spacetime. These constructions allow us to analyze the non-trivial interplay between the quantum deformation parameter $kappa$, the curvature parameter $eta$ and the speed of light parameter $c$.




      bra

      Co-Seifert Fibrations of Compact Flat Orbifolds. (arXiv:2002.12799v2 [math.GT] UPDATED)

      In this paper, we develop the theory for classifying all the geometric fibrations of compact, connected, flat $n$-orbifolds, over a 1-orbifold, up to affine equivalence. We apply our classification theory to classify all the geometric fibrations of compact, connected, flat $2$-orbifolds, over a 1-orbifold, up to affine equivalence. This paper is an essential part of our project to give a geometric proof of the classification of all closed flat 4-manifolds.




      bra

      A homotopy BV algebra for Yang-Mills and color-kinematics. (arXiv:1912.03110v2 [math-ph] UPDATED)

      Yang-Mills gauge theory on Minkowski space supports a Batalin-Vilkovisky-infinity algebra structure, all whose operations are local. To make this work, the axioms for a BV-infinity algebra are deformed by a quadratic element, here the Minkowski wave operator. This homotopy structure implies BCJ/color-kinematics duality; a cobar construction yields a strict algebraic structure whose Feynman expansion for Yang-Mills tree amplitudes complies with the duality. It comes with a `syntactic kinematic algebra'.




      bra

      Multitype branching process with nonhomogeneous Poisson and generalized Polya immigration. (arXiv:1909.03684v2 [math.PR] UPDATED)

      In a multitype branching process, it is assumed that immigrants arrive according to a nonhomogeneous Poisson or a generalized Polya process (both processes are formulated as a nonhomogeneous birth process with an appropriate choice of transition intensities). We show that the renormalized numbers of objects of the various types alive at time $t$ for supercritical, critical, and subcritical cases jointly converge in distribution under those two different arrival processes. Furthermore, some transient moment analysis when there are only two types of particles is provided. AMS 2000 subject classifications: Primary 60J80, 60J85; secondary 60K10, 60K25, 90B15.




      bra

      The classification of Rokhlin flows on C*-algebras. (arXiv:1706.09276v6 [math.OA] UPDATED)

      We study flows on C*-algebras with the Rokhlin property. We show that every Kirchberg algebra carries a unique Rokhlin flow up to cocycle conjugacy, which confirms a long-standing conjecture of Kishimoto. We moreover present a classification theory for Rokhlin flows on C*-algebras satisfying certain technical properties, which hold for many C*-algebras covered by the Elliott program. As a consequence, we obtain the following further classification theorems for Rokhlin flows. Firstly, we extend the statement of Kishimoto's conjecture to the non-simple case: Up to cocycle conjugacy, a Rokhlin flow on a separable, nuclear, strongly purely infinite C*-algebra is uniquely determined by its induced action on the prime ideal space. Secondly, we give a complete classification of Rokhlin flows on simple classifiable $KK$-contractible C*-algebras: Two Rokhlin flows on such a C*-algebra are cocycle conjugate if and only if their induced actions on the cone of lower-semicontinuous traces are affinely conjugate.




      bra

      On abelianity lines in elliptic $W$-algebras. (arXiv:2005.03579v1 [math-ph])

      We present a systematic derivation of the abelianity conditions for the $q$-deformed $W$-algebras constructed from the elliptic quantum algebra $mathcal{A}_{q,p}(widehat{gl}(N)_{c})$. We identify two sets of conditions on a given critical surface yielding abelianity lines in the moduli space ($p, q, c$). Each line is identified as an intersection of a countable number of critical surfaces obeying diophantine consistency conditions. The corresponding Poisson brackets structures are then computed for which some universal features are described.




      bra

      Graded 2-generated axial algebras. (arXiv:2005.03577v1 [math.RA])

      Axial algebras are non-associative algebras generated by semisimple idempotents whose adjoint actions obey a fusion law. Axial algebras that are generated by two such idempotents play a crucial role in the theory. We classify all primitive 2-generated axial algebras whose fusion laws have two eigenvalues and all graded primitive 2-generated axial algebras whose fusion laws have three eigenvalues. This represents a significant broadening in our understanding of axial algebras.




      bra

      Twisted quadrics and algebraic submanifolds in R^n. (arXiv:2005.03509v1 [math-ph])

      We propose a general procedure to construct noncommutative deformations of an algebraic submanifold $M$ of $mathbb{R}^n$, specializing the procedure [G. Fiore, T. Weber, Twisted submanifolds of $mathbb{R}^n$, arXiv:2003.03854] valid for smooth submanifolds. We use the framework of twisted differential geometry of [Aschieri et al.,Class. Quantum Gravity 23 (2006), 1883], whereby the commutative pointwise product is replaced by the $star$-product determined by a Drinfel'd twist. We actually simultaneously construct noncommutative deformations of all the algebraic submanifolds $M_c$ that are level sets of the $f^a(x)$, where $f^a(x)=0$ are the polynomial equations solved by the points of $M$, employing twists based on the Lie algebra $Xi_t$ of vector fields that are tangent to all the $M_c$. The twisted Cartan calculus is automatically equivariant under twisted $Xi_t$. If we endow $mathbb{R}^n$ with a metric, then twisting and projecting to normal or tangent components commute, projecting the Levi-Civita connection to the twisted $M$ is consistent, and in particular a twisted Gauss theorem holds, provided the twist is based on Killing vector fields. Twisted algebraic quadrics can be characterized in terms of generators and $star$-polynomial relations. We explicitly work out deformations based on abelian or Jordanian twists of all quadrics in $mathbb{R}^3$ except ellipsoids, in particular twisted cylinders embedded in twisted Euclidean $mathbb{R}^3$ and twisted hyperboloids embedded in twisted Minkowski $mathbb{R}^3$ [the latter are twisted (anti-)de Sitter spaces $dS_2,AdS_2$].




      bra

      The UCT problem for nuclear $C^ast$-algebras. (arXiv:2005.03184v1 [math.OA])

      In recent years, a large class of nuclear $C^ast$-algebras have been classified, modulo an assumption on the Universal Coefficient Theorem (UCT). We think this assumption is redundant and propose a strategy for proving it. Indeed, following the original proof of the classification theorem, we propose bridging the gap between reduction theorems and examples. While many such bridges are possible, various approximate ideal structures appear quite promising.




      bra

      Categorifying Hecke algebras at prime roots of unity, part I. (arXiv:2005.03128v1 [math.RT])

      We equip the type A diagrammatic Hecke category with a special derivation, so that after specialization to characteristic p it becomes a p-dg category. We prove that the defining relations of the Hecke algebra are satisfied in the p-dg Grothendieck group. We conjecture that the $p$-dg Grothendieck group is isomorphic to the Iwahori-Hecke algebra, equipping it with a basis which may differ from both the Kazhdan-Lusztig basis and the p-canonical basis. More precise conjectures will be found in the sequel.

      Here are some other results contained in this paper. We provide an incomplete proof of the classification of all degree +2 derivations on the diagrammatic Hecke category, and a complete proof of the classification of those derivations for which the defining relations of the Hecke algebra are satisfied in the p-dg Grothendieck group. In particular, our special derivation is unique up to duality and equivalence. We prove that no such derivation exists in simply-laced types outside of finite and affine type A. We also examine a particular Bott-Samelson bimodule in type A_7, which is indecomposable in characteristic 2 but decomposable in all other characteristics. We prove that this Bott-Samelson bimodule admits no nontrivial fantastic filtrations in any characteristic, which is the analogue in the p-dg setting of being indecomposable.




      bra

      Irreducible representations of Braid Group $B_n$ of dimension $n+1$. (arXiv:2005.03105v1 [math.GR])

      We prove that there are no irreducible representations of $B_n$ of dimension $n+1$ for $ngeq 10.$




      bra

      GraphBLAST: A High-Performance Linear Algebra-based Graph Framework on the GPU. (arXiv:1908.01407v3 [cs.DC] CROSS LISTED)

      High-performance implementations of graph algorithms are challenging to implement on new parallel hardware such as GPUs, because of three challenges: (1) difficulty of coming up with graph building blocks, (2) load imbalance on parallel hardware, and (3) graph problems having low arithmetic intensity. To address these challenges, GraphBLAS is an innovative, on-going effort by the graph analytics community to propose building blocks based in sparse linear algebra, which will allow graph algorithms to be expressed in a performant, succinct, composable and portable manner. In this paper, we examine the performance challenges of a linear algebra-based approach to building graph frameworks and describe new design principles for overcoming these bottlenecks. Among the new design principles is exploiting input sparsity, which allows users to write graph algorithms without specifying push and pull direction. Exploiting output sparsity allows users to tell the backend which values of the output in a single vectorized computation they do not want computed. Load-balancing is an important feature for balancing work amongst parallel workers. We describe the important load-balancing features for handling graphs with different characteristics. The design principles described in this paper have been implemented in "GraphBLAST", the first open-source linear algebra-based graph framework on GPU targeting high-performance computing. The results show that on a single GPU, GraphBLAST has on average at least an order of magnitude speedup over previous GraphBLAS implementations SuiteSparse and GBTL, comparable performance to the fastest GPU hardwired primitives and shared-memory graph frameworks Ligra and Gunrock, and better performance than any other GPU graph framework, while offering a simpler and more concise programming model.




      bra

      Transfer Learning for EEG-Based Brain-Computer Interfaces: A Review of Progress Made Since 2016. (arXiv:2004.06286v3 [cs.HC] UPDATED)

      A brain-computer interface (BCI) enables a user to communicate with a computer directly using brain signals. Electroencephalograms (EEGs) used in BCIs are weak, easily contaminated by interference and noise, non-stationary for the same subject, and varying across different subjects and sessions. Therefore, it is difficult to build a generic pattern recognition model in an EEG-based BCI system that is optimal for different subjects, during different sessions, for different devices and tasks. Usually, a calibration session is needed to collect some training data for a new subject, which is time consuming and user unfriendly. Transfer learning (TL), which utilizes data or knowledge from similar or relevant subjects/sessions/devices/tasks to facilitate learning for a new subject/session/device/task, is frequently used to reduce the amount of calibration effort. This paper reviews journal publications on TL approaches in EEG-based BCIs in the last few years, i.e., since 2016. Six paradigms and applications -- motor imagery, event-related potentials, steady-state visual evoked potentials, affective BCIs, regression problems, and adversarial attacks -- are considered. For each paradigm/application, we group the TL approaches into cross-subject/session, cross-device, and cross-task settings and review them separately. Observations and conclusions are made at the end of the paper, which may point to future research directions.




      bra

      Testing Scenario Library Generation for Connected and Automated Vehicles: An Adaptive Framework. (arXiv:2003.03712v2 [eess.SY] UPDATED)

      How to generate testing scenario libraries for connected and automated vehicles (CAVs) is a major challenge faced by the industry. In previous studies, to evaluate maneuver challenge of a scenario, surrogate models (SMs) are often used without explicit knowledge of the CAV under test. However, performance dissimilarities between the SM and the CAV under test usually exist, and it can lead to the generation of suboptimal scenario libraries. In this paper, an adaptive testing scenario library generation (ATSLG) method is proposed to solve this problem. A customized testing scenario library for a specific CAV model is generated through an adaptive process. To compensate the performance dissimilarities and leverage each test of the CAV, Bayesian optimization techniques are applied with classification-based Gaussian Process Regression and a new-designed acquisition function. Comparing with a pre-determined library, a CAV can be tested and evaluated in a more efficient manner with the customized library. To validate the proposed method, a cut-in case study was performed and the results demonstrate that the proposed method can further accelerate the evaluation process by a few orders of magnitude.




      bra

      ZebraLancer: Decentralized Crowdsourcing of Human Knowledge atop Open Blockchain. (arXiv:1803.01256v5 [cs.HC] UPDATED)

      We design and implement the first private and anonymous decentralized crowdsourcing system ZebraLancer, and overcome two fundamental challenges of decentralizing crowdsourcing, i.e., data leakage and identity breach.

      First, our outsource-then-prove methodology resolves the tension between the blockchain transparency and the data confidentiality to guarantee the basic utilities/fairness requirements of data crowdsourcing, thus ensuring: (i) a requester will not pay more than what data deserve, according to a policy announced when her task is published via the blockchain; (ii) each worker indeed gets a payment based on the policy, if he submits data to the blockchain; (iii) the above properties are realized not only without a central arbiter, but also without leaking the data to the open blockchain. Second, the transparency of blockchain allows one to infer private information about workers and requesters through their participation history. Simply enabling anonymity is seemingly attempting but will allow malicious workers to submit multiple times to reap rewards. ZebraLancer also overcomes this problem by allowing anonymous requests/submissions without sacrificing accountability. The idea behind is a subtle linkability: if a worker submits twice to a task, anyone can link the submissions, or else he stays anonymous and unlinkable across tasks. To realize this delicate linkability, we put forward a novel cryptographic concept, i.e., the common-prefix-linkable anonymous authentication. We remark the new anonymous authentication scheme might be of independent interest. Finally, we implement our protocol for a common image annotation task and deploy it in a test net of Ethereum. The experiment results show the applicability of our protocol atop the existing real-world blockchain.




      bra

      Brain-like approaches to unsupervised learning of hidden representations -- a comparative study. (arXiv:2005.03476v1 [cs.NE])

      Unsupervised learning of hidden representations has been one of the most vibrant research directions in machine learning in recent years. In this work we study the brain-like Bayesian Confidence Propagating Neural Network (BCPNN) model, recently extended to extract sparse distributed high-dimensional representations. The saliency and separability of the hidden representations when trained on MNIST dataset is studied using an external classifier, and compared with other unsupervised learning methods that include restricted Boltzmann machines and autoencoders.




      bra

      Dirichlet spectral-Galerkin approximation method for the simply supported vibrating plate eigenvalues. (arXiv:2005.03433v1 [math.NA])

      In this paper, we analyze and implement the Dirichlet spectral-Galerkin method for approximating simply supported vibrating plate eigenvalues with variable coefficients. This is a Galerkin approximation that uses the approximation space that is the span of finitely many Dirichlet eigenfunctions for the Laplacian. Convergence and error analysis for this method is presented for two and three dimensions. Here we will assume that the domain has either a smooth or Lipschitz boundary with no reentrant corners. An important component of the error analysis is Weyl's law for the Dirichlet eigenvalues. Numerical examples for computing the simply supported vibrating plate eigenvalues for the unit disk and square are presented. In order to test the accuracy of the approximation, we compare the spectral-Galerkin method to the separation of variables for the unit disk. Whereas for the unit square we will numerically test the convergence rate for a variable coefficient problem.




      bra

      Determinantal Point Processes in Randomized Numerical Linear Algebra. (arXiv:2005.03185v1 [cs.DS])

      Randomized Numerical Linear Algebra (RandNLA) uses randomness to develop improved algorithms for matrix problems that arise in scientific computing, data science, machine learning, etc. Determinantal Point Processes (DPPs), a seemingly unrelated topic in pure and applied mathematics, is a class of stochastic point processes with probability distribution characterized by sub-determinants of a kernel matrix. Recent work has uncovered deep and fruitful connections between DPPs and RandNLA which lead to new guarantees and improved algorithms that are of interest to both areas. We provide an overview of this exciting new line of research, including brief introductions to RandNLA and DPPs, as well as applications of DPPs to classical linear algebra tasks such as least squares regression, low-rank approximation and the Nystr"om method. For example, random sampling with a DPP leads to new kinds of unbiased estimators for least squares, enabling more refined statistical and inferential understanding of these algorithms; a DPP is, in some sense, an optimal randomized algorithm for the Nystr"om method; and a RandNLA technique called leverage score sampling can be derived as the marginal distribution of a DPP. We also discuss recent algorithmic developments, illustrating that, while not quite as efficient as standard RandNLA techniques, DPP-based algorithms are only moderately more expensive.




      bra

      Experiences from Exporting Major Proof Assistant Libraries. (arXiv:2005.03089v1 [cs.SE])

      The interoperability of proof assistants and the integration of their libraries is a highly valued but elusive goal in the field of theorem proving. As a preparatory step, in previous work, we translated the libraries of multiple proof assistants, specifically the ones of Coq, HOL Light, IMPS, Isabelle, Mizar, and PVS into a universal format: OMDoc/MMT.

      Each translation presented tremendous theoretical, technical, and social challenges, some universal and some system-specific, some solvable and some still open. In this paper, we survey these challenges and compare and evaluate the solutions we chose.

      We believe similar library translations will be an essential part of any future system interoperability solution and our experiences will prove valuable to others undertaking such efforts.




      bra

      Retired Soccer Star Briana Scurry: "My Brain Was Broken"

      Retired soccer star Briana Scurry talks about how all her successes started with her mind and her ability to overcome obstacles. After her injury, she felt lost, broken.




      bra

      CTE pathology in a neurodegenerative disorders brain bank




      bra

      How I learned to stop being a hater and embrace Southern Rock

      [IMAGE-1] Part of being a music lover is also being a snob, and even though my mind has opened considerably as I've aged, I still remember all the genres I just couldn't give any time to when I was growing up. Southern rock was definitely verboten for much of my life.…




      bra

      Aerosmith and Guided By Voices celebrate landmark albums this month and are worlds apart in style and popularity — but maybe not as far as you think

      Put pictures of 1975-era Aerosmith and 1995-era Guided By Voices next to each other and you probably wouldn’t think the bands have anything in common.…




      bra

      Sammy Eubanks, Cami Bradley team up for virtual concert Saturday for Meals on Wheels

      Two beloved Spokane-based entertainers are teaming up this weekend for a good cause.…



      • Music/Music News