and

Student visa holders and New Zealand citizens in Australia and the Coronavirus (COVID-19) crisis?

International students who have been in Australia for longer than 12 months who find themselves in financial hardship will be able to access their Australian superannuation. The Government will undertake further engagement with the international education sector who already provide some financial support for international students facing hardship. International students working in supermarkets will have […]

The post Student visa holders and New Zealand citizens in Australia and the Coronavirus (COVID-19) crisis? appeared first on Visa Australia - Immigration Lawyers & Registered Migration Agents.




and

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

    and

    A Viget Exploration: How Tech Can Help in a Pandemic

    Viget Explorations have always been the result of our shared curiosities. They’re usually a spontaneous outcome of team downtime and a shared problem we’ve experienced. We use our Explorations to pursue our diverse interests and contribute to the conversations about building a better digital world.

    As the COVID-19 crisis emerged, we were certainly experiencing a shared problem. As a way to keep busy and manage our anxieties, a small team came together to dive into how technology has helped, and, unfortunately, hindered the community response to the current pandemic.

    We started by researching the challenges we saw: information overload, a lack of clarity, individual responsibility, and change. Then we brainstormed possible technical solutions that could further improve how communities respond to a pandemic. Click here to see our Exploration on some possible ways to take the panic out of pandemics.

    While we aren’t currently pursuing the solutions outlined in the Exploration, we’d love to hear what you think about these approaches, as well as any ideas you have for how technology can help address the outlined challenges.

    Please note, this Exploration doesn’t provide medical information. Visit the Center for Disease Control’s website for current information and COVID-19, its symptoms, and treatments.

    At Viget, we’re adjusting to this crisis for the safety of our clients, our staff, and our communities. If you’d like to hear from Viget's co-founder, Brian Williams, you can read his article on our response to the situation.



    • News & Culture

    and

    CLI Equivalents for Common MAMP PRO and Sequel Pro Tasks

    Working on website front ends I sometimes use MAMP PRO to manage local hosts and Sequel Pro to manage databases. Living primarily in my text editor, a terminal, and a browser window, moving to these click-heavy dedicated apps can feel clunky. Happily, the tasks I have most frequently turned to those apps for —starting and stopping servers, creating new hosts, and importing, exporting, deleting, and creating databases— can be done from the command line.

    I still pull up MAMP PRO if I need to change a host's PHP version or work with its other more specialized settings, or Sequel Pro to quickly inspect a database, but for the most part I can stay on the keyboard and in my terminal. Here's how:

    Command Line MAMP PRO

    You can start and stop MAMP PRO's servers from the command line. You can even do this when the MAMP PRO desktop app isn't open.

    Note: MAMP PRO's menu icon will not change color to reflect the running/stopped status when the status is changed via the command line.

    • Start the MAMP PRO servers:
    /Applications/MAMP PRO.app/Contents/MacOS/MAMP PRO cmd startServers
    • Stop the MAMP PRO servers:
    /Applications/MAMP PRO.app/Contents/MacOS/MAMP PRO cmd stopServers
    • Create a host (replace host_name and root_path):
    /Applications/MAMP PRO.app/Contents/MacOS/MAMP PRO cmd createHost host_name root_path

    MAMP PRO-friendly Command Line Sequel Pro

    Note: if you don't use MAMP PRO, just replace the /Applications/MAMP/Library/bin/mysql with mysql.

    In all of the following commands, replace username with your user name (locally this is likely root) and database_name with your database name. The -p (password) flag with no argument will trigger an interactive password prompt. This is more secure than including your password in the command itself (like -pYourPasswordHere). Of course, if you're using the default password root is not particular secure to begin with so you might just do -pYourPasswordHere.

    Setting the -h (host) flag to localhost or 127.0.0.1 tells mysql to look at what's on localhost. With the MAMP PRO servers running, that will be the MAMP PRO databases.

    # with the MAMP PRO servers running, these are equivalent:
    # /Applications/MAMP/Library/bin/mysql -h 127.0.0.1 other_options
    # and
    # /Applications/MAMP/Library/bin/mysql -h localhost other_options
    
    /Applications/MAMP/Library/bin/mysql mysql_options # enter. opens an interactive mysql session
    mysql> some command; # don't forget the semicolon
    mysql> exit;
    • Create a local database
    # with the MAMP PRO servers running
    # replace `username` with your username, which is `root` by default
    /Applications/MAMP/Library/bin/mysql -h localhost -u username -p -e "create database database_name"

    or

    # with the MAMP PRO servers running
    # replace `username` (`root` by default) and `database_name`
    /Applications/MAMP/Library/bin/mysql -h localhost -u username -p # and then enter
    mysql> create database database_name; # don't forget the semicolon
    mysql> exit

        MAMP PRO's databases are stored in /Library/Application Support/appsolute/MAMP PRO/db so to confirm that it worked you can

    ls /Library/Application Support/appsolute/MAMP PRO/db
    # will output the available mysql versions. For example I have
    mysql56_2018-11-05_16-25-13     mysql57
    
    # If it isn't clear which one you're after, open the main MAMP PRO and click
    # on the MySQL "servers and services" item. In my case it shows "Version: 5.7.26"
    
    # Now look in the relevant MySQL directory
    ls /Library/Application Support/appsolute/MAMP PRO/db/mysql57
    # the newly created database should be in the list
    • Delete a local database
    # with the MAMP PRO servers running
    # replace `username` (`root` by default) and `database_name`
    /Applications/MAMP/Library/bin/mysql -h localhost -u username -p -e "drop database database_name"
    • Export a dump of a local database. Note that this uses mysqldump not mysql.
    # to export an uncompressed file
    # replace `username` (`root` by default) and `database_name`
    /Applications/MAMP/Library/bin/mysqldump -h localhost -u username -p database_name > the/output/path.sql
    
    # to export a compressed file
    # replace `username` (`root` by default) and `database_name`
    /Applications/MAMP/Library/bin/mysqldump -h localhost -u username -p database_name | gzip -c > the/output/path.gz

    • Export a local dump from an external database over SSH. Note that this uses mysqldump not mysql.

    # replace `ssh-user`, `ssh_host`, `mysql_user`, `database_name`, and the output path
    
    # to end up with an uncompressed file
    ssh ssh_user@ssh_host "mysqldump -u mysql_user -p database_name | gzip -c" | gunzip > the/output/path.sql
    
    # to end up with a compressed file
    ssh ssh_user@ssh_host "mysqldump -u mysql_user -p database_name | gzip -c" > the/output/path.gz
    • Import a local database dump into a local database
    # with the MAMP PRO servers running
    # replace `username` (`root` by default) and `database_name`
    /Applications/MAMP/Library/bin/mysql -h localhost -u username -p database_name < the/dump/path.sql
    • Import a local database dump into a remote database over SSH. Use care with this one. But if you are doing it with Sequel Pro —maybe you are copying a Craft site's database from a production server to a QA server— you might as well be able to do it on the command line.
    ssh ssh_user@ssh_host "mysql -u username -p remote_database_name" < the/local/dump/path.sql


    For me, using the command line instead of the MAMP PRO and Sequel Pro GUI means less switching between keyboard and mouse, less opening up GUI features that aren't typically visible on my screen, and generally better DX. Give it a try! And while MAMP Pro's CLI is limited to the essentials, command line mysql of course knows no limits. If there's something else you use Sequel Pro for, you may be able to come up with a mysql CLI equivalent you like even better.



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

    and

    A Viget Glossary: What We Mean and Why it Matters - Part 1

    Viget has helped organizations design and develop award-winning websites and digital products for 20 years. In that time, we’ve been lucky to create long-term relationships with clients like Puma, the World Wildlife Fund, and Privia Health, and, throughout our time working together, we’ve come to understand each others’ unique terminology. But that isn’t always the case when we begin work with new clients, and in a constantly-evolving industry, we know that new terminology appears almost daily and organizations have unique definitions for deliverables and processes.

    Kicking off a project always initiates a flurry of activity. There are contracts to sign, team members to introduce, and new platforms to learn. It’s an exciting time, and we know clients are anxious to get underway. Amidst all the activity, though, there is a need to define and create a shared lexicon to ensure both teams understand the project deliverables and process that will take us from kickoff to launch.

    Below, we’ve rounded up a few terms for each of our disciplines that often require additional explanation. Note: our definitions of these terms may differ slightly from the industry standard, but highlight our interpretation and use of them on a daily basis.

    User Experience

    Research

    In UX, there is a proliferation of terms that are often used interchangeably and mean almost-but-subtly-not the same thing. Viget uses the term research to specifically mean user research — learning more about the users of our products, particularly how they think and behave — in order to make stronger recommendations and better designs. This can be accomplished through different methodologies, depending on the needs of the project, and can include moderated usability testing, stakeholder interviews, audience research, surveys, and more. Learn more about the subtleties of UX research vocabulary in our post on “Speaking the Same Language About Research”.

    Wireframes

    We use wireframes to show the priority and organization of content on the screen, to give a sense of what elements will get a stronger visual treatment, and to detail how users will get to other parts of the site. Wireframes are a key component of website design — think of them as the skeleton or blueprint of a page — but we know that clients often feel uninspired after reviewing pages built with gray boxes. In fact, we’ve even written about how to improve wireframe presentations. We remind clients that visual designers will step in later to add polish through color, graphics, and typography, but agreeing on the foundation of the page is an important and necessary first step.

    Prototypes

    During the design process, it’s helpful for us to show clients how certain pieces of functionality or animations will work once the site is developed. We can mimic interactivity or test a technical proof of concept by using a clickable prototype, relying on tools like Figma, Invision, or Principle. Our prototypes can be used to illustrate a concept to internal stakeholders, but shouldn’t be seen as a final approach. Often, these concepts will require additional work to prepare them for developer handoff, which means that prototypes quickly become outdated. Read more about how and when we use prototypes.

    Navigation Testing (Treejack Testing)

    Following an information architecture presentation, we will sometimes recommend that clients conduct navigation testing. When testing, we present a participant with the proposed navigation and ask them to perform specific tasks in order to see if they will be able to locate the information specified within the site’s new organization. These tests generally focus on two aspects of the navigation: the structure of the navigation system itself, and the language used within the system. Treejack is an online navigation testing tool that we like to employ when conducting navigation tests, so we’ll often interchange the terms “navigation testing” with “treejack testing”.

    Learn more about Viget’s approach to user experience and research




    and

    A Viget Glossary: What We Mean and Why It Matters - Part 2

    In my last post, I defined terms used by our UX team that are often confused or have multiple meanings across the industry. Today, I’ll share our definitions for processes and deliverables used by our design and strategy teams.

    Creative

    Brand Strategy

    In our experience, we’ve found that the term brand strategy is used to cover a myriad of processes, documents, and deliverables. To us, a brand strategy defines how an organization communicates who they are, what they do and why in a clear and compelling way. Over the years, we’ve developed an approach to brand strategy work that emphasizes rigorous research, hands-on collaboration, and the definition of problems and goals. We work with clients to align on a brand strategy concept and, depending on the client and their goals, our final deliverables can range to include strategy definition, audience-specific messaging, identity details, brand elements, applications, and more. Take a look at the brand strategy work we’ve done for Fiscalnote, Swiftdine, and Armstrong Tire.

    Content Strategy

    A content strategy goes far beyond the words on a website or in an app. A strong content strategy dictates the substance, structure, and governance of the information an organization uses to communicate to its audience. It guides creating, organizing, and maintaining content so that companies can communicate who they are, what they do, and why efficiently and effectively. We’ve worked with organizations like the Washington Speakers Bureau, The Nature Conservancy, the NFL Players Association, and the Wildlife Conservation Society to refine and enhance their content strategies.

    Still confused about the difference between brand and content strategy? Check out our flowchart.

    Style Guide vs. Brand Guidelines

    We often find the depth or fidelity of brand guidelines and style guides can vary greatly, and the terms can often be confused. When we create brand guidelines, they tend to be large documents that include in-depth recommendations about how a company should communicate their brand. Sections like “promise”, “vision”, “mission”, “values”, “tone”, etc. accompany details about how the brand’s logo, colors and fonts should be used in a variety of scenarios. Style guides, on the other hand, are typically pared down documents that contain specific guidance for organizations’ logos, colors and fonts, and don’t always include usage examples.

    Design System

    One question we get from clients often during a redesign or rebrand is, “How can I make sure people across my organization are adhering to our new designs?” This is where a design system comes into play. Design systems can range from the basic — e.g., a systematic approach to creating shared components for a single website — all the way to the complex —e.g., architecting a cross-product design system that can scale to accommodate hundreds of different products within a company. By assembling elements like color, typography, imagery, messaging, voice and tone, and interaction patterns in a central repository, organizations are able to scale products and marketing confidently and efficiently. When a design system is translated into code, we refer to that as a parts kit, which helps enforce consistency and improve workflow.

    Comps or Mocks

    When reviewing RFPs or going through the nitty-gritty of contracts with clients, we often see the terms mocks or comps used interchangeably to refer to the static design of pages or screens. Internally, we think of a mock-up as a static image file that illustrates proof-of-concept, just a step beyond a wireframe. A comp represents a design that is “high fidelity” and closer to what the final website will look like, though importantly, is not an exact replica. This is likely what clients will share with internal stakeholders to get approval on the website direction and what our front-end developers will use to begin building-out the site (in other words, converting the static design files into dynamic HTML, CSS, and JavaScript code).

    If you're interested in joining our team of creative thinkers and visual storytellers who bring these concepts to life for our clients, we’re hiring in Washington, D.C. Durham, Boulder and Chattanooga. Tune in next week as we decipher the terms we use most often when talking about development.




    and

    Pandemic Poetry

    Viget is replete with literature enthusiasts. We have a book club, blog posts about said book club, and a #poetry channel on Slack for sharing Wendell Berry and Emily Dickinson. Before the pandemic it saw only occasional activity. That was until our Employee Engagement Manager, Aubrey Lear, popped up one day with a proposal: a month-long haiku challenge. (Hat tip to Nicole Gulotta for the excellent prompts.)

    Haikus have long been beloved by Vigets. (In fact we have a #haiku channel too, but all the action tends to go down in #poetry.) There’s something about the form’s constraints, pithiness, and symmetry that appeals to us — a bunch of creatives, developers, and strategists who value elegant solutions. What we didn’t know was that a haiku-a-thon would also become a highlight of our very, very many Work From Home days.

    For my part, writing haikus has become a charming distraction from worry. When I find my brain fidgeting over Covid-19 what-if scenarios, I set it a task. 5-7-5. Stack those syllables up, break ‘em down. How far can I push the confines of that structure? Where should the line breaks be? One run-on sentence? Find a punchline? It’s a nice little bit of syntactic Tetris. It stops me going down mental rabbit holes — a palette-cleansing exercise after a day’s bad news.

    Then there’s the getting-to-know-you benefit that comes from Vigets sharing their daily haikus, each interpreting the prompts differently, offering a unique and condensed take on things common to us all.


    There’s Elyse with her gorgeous personification of household objects:

    Around the House

    The small tea kettle

    is now forming a union.

    She demands more pay.


    Or Laura, musing on the mundane things we miss:

    Something you long for

    strolling up and down

    the aisles, browsing away

    wonder everywhere

    just taking my time

    tossing products in my cart

    ye olde target run


    Josh’s odes are always a pick-me-up:

    Nourishing Meal

    O orange powder

    On mac, Doritos, Cheetos

    Finger-licking gewd.


    While Grace’s are thoughtful and profound:

    Thoughts while Driving

    Tis human nature

    We struggle to grasp the weight

    Till it’s upon us


    There’s Peyton, with his humorous wordplay:

    Plant Friends

    Plant friends everywhere

    Watch them grow from far away

    Then come back to them

    Plant friends everywhere

    Water them with Zooms and calls

    They’ll water you too


    And Claire, who grounds us in reality:

    While folding laundry

    gym shorts and sports bras

    mostly what I’m folding now

    goodbye skirts and jeans


    Kate is sparky:

    Lighting a candle

    lighter fluid thrills

    fingertips quiver, recoil

    fire takes hold within


    While I find the whole thing cathartic:

    Breath

    Old friend — with me since

    birth — whom I seldom take time

    to appreciate.


    Our first #30daysfohaikuchallenge is over now, so we’ve decided to start another. Won’t you join us? Prompts are below and you can share your haiku in the comments.



    • News & Culture

    and

    A Parent’s Guide to Working From Home, During a Global Pandemic, Without Going Insane

    Though I usually enjoy working from Viget’s lovely Boulder office, during quarantine I am now working from home while simultaneously parenting my 3-year-old daughter Audrey. My husband works in healthcare and though he is not on the front lines battling COVID-19, he is still an essential worker and as such leaves our home to work every day.

    Some working/parenting days are great! I somehow get my tasks accomplished, my kid is happy, and we spend some quality time together.

    And some days are awful. I have to ignore my daughter having a meltdown and try to focus on meetings, and I wish I wasn’t in this situation at all. Most days are somewhere in the middle; I’m just doing my best to get by.

    I’ve seen enough working parent memes and cries for help on social media to know that I’m not alone. There are many parents out there who now get to experience the stress and anxiety of living through a global pandemic while simultaneously navigating ways to stay productive while working from home and being an effective parent. Fun isn’t it?

    I’m not an expert on the matter, but I have found a few small things that are making me feel a bit more sane. I hope sharing them will make someone else’s life easier too.

    Truths to Accept

    First, let’s acknowledge some truths about this new situation we find ourselves in:

    Truth 1: We’ve lost something.

    Parents have lost more than daycare and schools during this epidemic. We’ve lost any time that we had for ourselves, and that was really valuable. We no longer have small moments in the day to catch up on our personal lives. I no longer have a commute to separate my work duties from my mom duties, or catch up with my friends, or just be quiet.

    Truth 2: We’re human.

    The reason you can’t be a great employee and a great parent and a great friend and a great partner or spouse all day every day isn’t because you’re doing a bad job, it’s because being constantly wonderful in all aspects of your life is impossible. Pick one or two of those things a day to focus on.

    Truth 3: We’re all doing our best.

    This is the most important part of this article. Be kind to yourselves. This isn’t easy, and putting so much pressure on yourself that you break isn’t going to make it any easier.

    Work from Home Goals

    Now that we’ve accepted some truths about our current situation, let’s set some goals.

    Goal 1: Do Good Work

    At Viget, and wherever you work, with kids or without we all want to make sure that the quality of our work stays up throughout the pandemic and that we can continue to be reliable team members and employees to the best of our abilities.

    Goal 2: Stay Sane

    We need to figure out ways to do this without sacrificing ourselves entirely. For me, this means fitting my work into normal work hours as much as possible so that I can still have some downtime in the evenings.

    Goal 3: Make This Sustainable

    None of us knows how long this will last but we may as well begin mentally preparing for a long haul.

    Work from Home Rules

    Now, there are some great Work from Home Rules that apply to everyone with or without kids. My coworker Paul Koch shared these with the Viget team a Jeremy Bearimy ago and I agree this is also the foundation for working from home with kids.

    1. When you’re in a remote meeting, minimize other windows to stay focused
    2. Set a schedule and avoid chores*
    3. Take breaks away from the screen
    4. Plan your workday on the calendar+
    5. Be mindful of Slack and social media as a distraction
    6. Use timers+
    7. Keep your work area separate from where you relax
    8. Pretend that you’re still WFW
    9. Experiment and figure out what works for you

    In the improv spirit I say “Yes, AND….” to these tips. And so, here are my adjusted rules for WFH while kiddos around: These have both been really solid tools for me, so let’s dig in.

    Daily flexible schedule for kids

    Day Planning: Calendars and Timers

    A few small tweaks and adjustments make this even more doable for me and my 3-year-old. First- I don’t avoid chores entirely. If I’m going up and down the stairs all day anyway I might as well throw in a load of laundry while I’m at it. The more I can get done during the day means a greater chance of some down time in the evening.

    Each morning I plan my day and Audrey’s day:

    My Work Day:

    Audrey's Day

    Identify times of day you are more likely to be focus and protect them. For me, I know I have a block of time from 5-7a before Audrey wakes up and again during “nap time” from 1-3p.I built a construction paper “schedule” that we update and reorganize daily. We make the schedule together each day. She feels ownership over it and she gets to be the one who tells me what we do next.
    Look at your calendar first thing and make adjustments either in your plans or move meetings if you have to.I’m strategic about screen time- I try to schedule it when I have meetings. It also helps to schedule a physical activity before screen time as she is less likely to get bored.
    Make goals for your day: Tackle time sensitive tasks first. Take care of things that either your co-workers or clients are waiting on from you first, this will help your day be a lot less stressful. Non-time sensitive tasks come next- these can be done at any time of day.We always include “nap time” even though she rarely naps anymore. This is mostly a time for us both to be alone.

    When we make the schedule together it also helps me understand her favorite parts of the day and reminds me to include them.

    Once our days are planned, I also use timers to help keep the structure of the day. (I bought a great alarm clock for kids on Amazon that turns colors to signal bedtime and quiet time. It’s been hugely worth it for me.)

    Timers for Me:

    Timers for Audrey:

    More than ever, I rely on a time tracking timer. At Viget we use Harvest to track time, and it has a handy built in timer, but there are many apps or online tools that could help you keep track of your time as well.Audrey knows what time she can come out of her room in the morning. If she wakes up before the light is green she plays quietly in her room.
    I need a timer because the days and hours are bleeding together- without tracking as I go it would be really hard for me to remember when I worked on certain projects or know for certain if I gave Viget enough time for the day.She knows how long “nap time” is in the afternoon.
    Starting and stopping the timer helps me turn on and off “work mode”, which is a helpful sanity bonus.Perhaps best of all I am not the bad guy! “Sorry honey, the light isn’t green yet and there really isn’t anything mommy can do about it” is my new favorite way to ensure we both get some quiet time.

    Work from Home Rules: Updated for Parents

    Finally, I have a few more Work from Home Rules for parents to add to the list:

    1. Minimize other windows in remote meetings
    2. Set a schedule and fit in some chores if time allows
    3. Take breaks away from the screen
    4. Schedule both your and your kids’ days
    5. Be mindful of Slack and social media as a distraction
    6. Use timers to track your own time and help your kids understand the day
    7. Keep your work area separate from where you relax
    8. Pretend that you’re still WFW
    9. Experiment and figure out what works for you
    10. Be prepared with a few activities
      • Each morning, have just ONE thing ready to go. This can be a worksheet you printed out, a coloring station setup, a new bag of kinetic sand you just got delivered from Amazon, a kids dance video on YouTube or an iPad game. Recently I started enlisting my mom to read stories on Facetime. The activity doesn’t have to be new each day but (especially for young kids) it has to be handy for you to start up quickly if your schedule changes
    11. Clearly communicate your availability with your team and project PMs
      • Life happens. Some days are going to be hard. Whatever you do, don’t burn yourself out or leave your team hanging. If you need to move a meeting or take a day off, communicate that as early and as clearly as you can.
    12. Take PTO if you can
      • None of us are superheroes. If you’re feeling overwhelmed- take a look at the next few days and figure out which one makes the most sense for you to take a break.
    13. Take breaks to be alone without doing a task
      • Work and family responsibilities have blended together, there’s almost no room for being alone. If you can find some precious alone time don’t use it to fold laundry or clean the bathroom. Just zone out. I think we all really need this.

    Last but not least, enjoy your time at home if you can. This is an unusual circumstance and even though it’s really hard, there are parts that are really great too.

    If you have some great WFH tips we’d love to hear about them in the comments!




    and

    Global Gitignore Files Are Cool and So Are You

    Setting it up

    First, here's the config setup you need to even allow for such a radical concept.

    1. Define the global gitignore file as a global Git configuration:

      git config --global core.excludesfile ~/.gitignore
      

      If you're on OSX, this command will add the following config lines in your ~/.gitconfig file.

      [core]
        excludesfile = /Users/triplegirldad/.gitignore
      
    2. Load that ~/.gitignore file up with whatever you want. It probably doesn't exist as a file yet so you might have to create it first.

    Harnessing its incredible power

    There are only two lines in my global gitignore file and they are both fairly useful pretty much all the time.

    $ cat ~/.gitignore
    TODO.md
    playground
    

    This 2 line file means that no matter where I am, what project I'm working on, where in the project I'm doing so, I have an easy space to stash notes, thoughts, in progress ideas, spikes, etc.

    TODO.md

    More often than not, I'm fiddling around with a TODO.md file. Something about writing markdown in your familiar text editor speaks to my soul. It's quick, it's easy, you have all the text editing tricks available to you, and it never does anything you wouldn't expect (looking at you auto-markdown-formatting editors). I use one or two # for headings, I use nested lists, and I ask for nothing more. Nothing more than more TODO.md files that is!

    In practice I tend to just have one TODO.md file per project, right at the top, ready to pull up in a few keystrokes. Which I do often. I pull this doc up if:

    • I'm in a meeting and I just said "oh yeah that's a small thing, I'll knock it out this afternoon".
    • I'm halfway through some feature development and realize I want to make a sweeping refactor elsewhere. Toss some thoughts in the doc, and then get back to the task at hand.
    • It's the end of the day and I have to switch my brain into "feed small children" mode, thus obliterating everything work-related from my short term memory. When I open things up the next day and know exactly what the next thing to dive into was.
    • I'm preparing for a big enough refactor and I can't hold it all in my brain at once. What I'd give to have an interactive 3D playground for brain thoughts, but in the meantime a 2D text file isn't a terrible way to plan out dev work.

    playground

    Sometimes you need more than some human words in a markdown file to move an idea along. This is where my playground directory comes in. I can load this directory up with code that's related to a given project and keep it out of the git history. Because who doesn't like a place to play around.

    I find that this directory is more useful for long running maintenance projects over fast moving greenfield ones. On the maintenance projects, I tend to find myself assembling a pile of scripts and experiments for various situations:

    • The client requests a one-time obscure data export. Whip up some CSV generation code and save that code in the playground directory.
    • The client requests a different obscure data export. Pull up the last time you did something vaguely similar and save yourself the startup time.
    • A batch of data needs to be imported just once. Might as well stash that in the chance that "just once" is actually "just a few times".
    • Kicking the tires on an integration with a third party service.

    Some of these playground files end up being useful more times than I can count (eg: the ever-changing user_export.rb script). Some items get promoted into application code, which is always fun. But most files here serve their purpose and then wither away. And that's fine. It's a playground, anything goes.

    Wrapping up

    Having a personal space for project-specific notes and code has been helpful to me over the years as a developer on multiple projects. If you have your own organizational trick, or just want to brag about how you memorize everything without any markdown files, let me know in the comments below!





    and

    Boek: “The Wayfinding Handbook”

    Een recensie van het boek The Wayfinding Handboek, een uitgebreid naslagwerk over wayfinding bedoeld voor studenten, leraren, professionals en klanten. Hoe pak je een bewegwijzering project aan? Door David Gibson.




    and

    What every business must do (and designers even more so)

    What should all businesses do at least once, and do properly, and (like the title of this blog post suggests) designers need to do repeatedly? The answer is: Understanding the target market they’re catering to. Sure, that makes sense—but why are graphic designers any different? Why do this repeatedly? When you’re in business, you’re in the […]




    and

    New Branding & Website Design Launched for Enterprise High School in Clearwater, Florida

    We recently completed a full rebrand and website design project for Enterprise High School, a charter school located in Clearwater,...continue reading




    and

    Logo Design & Branding for Food Launcher

    A startup specializing in food product development and commercialization services, “Food Launcher” is a team of food scientists with over...continue reading




    and

    Good Cop & Bad Cop: Laying Down the Law and Keeping People Happy As an Independent Business Owner

    Earlier this week I met up for coffee with a client of mine. The two of us originally met when his employeer was my client and after leaving that job he hired me to customize his personal blog and we formed our own client/designer relationship. I was excited when he emailed me last week with the […]




    and

    Hand Drawn Typography at Refresh Seattle

    Refresh Seattle – February 2014 First off, what is Refresh? According to their website… Refresh Seattle is a community of designers and developers working to refresh the creative, technical, and professional culture of New Media endeavors in the Seattle/Puget Sound area. Promoting design, technology, usability, and standards, Refresh Seattle is a part of Refresh and […]




    and

    Microsoft bundled its beautiful Bing wallpapers into a free Android app

    https://thenextweb.com/microsoft/2020/05/08/microsoft-bundled-its-beautiful-bing-wallpapers-into-a-free-android-app/




    and

    How To Build A Vue Survey App Using Firebase Authentication And Database

    https://www.smashingmagazine.com/2020/05/vue-survey-app-firebase-authentication-database/




    and

    Why Stealing Best Landing Pages Is a Bad Idea

    https://hren.io/blog/stealing-best-landing-pages/




    and

    Pandemic Creativity: Edible Versions of Famous Artworks

    https://kottke.org/20/05/pandemic-creativity-edible-versions-of-famous-artworks




    and

    OpenCV Directly in the Browser (WebAssembly and webworker)

    https://aralroca.com/blog/opencv-in-the-web




    and

    Check Out These Famous Logos Practicing Social Distancing – McDonald’s, Mercedes, and More

    We all know about the new coronavirus that has been affecting hundreds of thousands of people worldwide. And while scientists, researchers, and doctors are all working tirelessly to find a cure for this terrible disease, one thing is for sure: staying home is saving lives. The greatest tool that we have right now to help […]

    Read More at Check Out These Famous Logos Practicing Social Distancing – McDonald’s, Mercedes, and More




    and

    10 Websites and Apps All Designers Should Be Using

    As a designer, we’re overloaded with choices every day, but there are some apps that are absolutely worth your time and investment. Finding the best ones and most useful ones can be a difficult task, so we’re going to make things easy for you and give you our top 10 apps and websites we couldn’t […]

    Read More at 10 Websites and Apps All Designers Should Be Using




    and

    Coronavirus pandemic could inflict emotional trauma and PTSD on an unprecedented scale, scientists warn

    Researchers are warning that the coronavirus pandemic could inflict long-lasting emotional trauma on an unprecedented global scale. They say it could leave millions wrestling with debilitating psychological disorders while dashing hopes for a swift economic recovery.




    and

    What a trauma and PTSD psychologist tells us about dealing with the coronavirus pandemic

    We’re all experiencing varying levels of trauma.




    and

    PTSD, Stigma, and My Uber Ride

    "After my driver asked me what I did for a living and found out I support the mental health programs at WWP, the discussion moved predictably to the topic of post-traumatic stress disorder (PTSD)...[She said,] 'Let me ask you something. Why can’t they just snap out of it?'"




    and

    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




    and

    Could you get PTSD from your pandemic experience? The long-term mental health effects of coronavirus

    Experiencing intense flashbacks, nightmares, irritability, anger, and fear? In the face of a traumatic event like the Covid-19 pandemic, it’s common to feel this way.




    and

    Want to help the USPS and vets? Buy a &#039;Healing PTSD&#039; stamp

    Support two entities with the price of one.




    and

    My PTSD can be a weight. But in this pandemic, it feels like a superpower.

    For the first time, it seems, the entire world knows what it’s like to live inside my head.




    and

    20 Free Old Paper Textures with Creases, Folds and Stains

    Old paper textures are one of my most commonly used design resources, as you may have noticed from my tutorials! I have always just downloaded whatever third-party assets I could find, so I thought it was about time I made a collection of my own old paper textures to keep handy in my digital toolbox. […]

    The post 20 Free Old Paper Textures with Creases, Folds and Stains appeared first on Spoon Graphics.




    and

    Could you get PTSD from your pandemic experience? The long-term mental health effects of coronavirus

    Experiencing intense flashbacks, nightmares, irritability, anger, and fear? In the face of a traumatic event like the Covid-19 pandemic, it’s common to feel this way.




    and

    Want to help the USPS and vets? Buy a &#039;Healing PTSD&#039; stamp

    Support two entities with the price of one.




    and

    My PTSD can be a weight. But in this pandemic, it feels like a superpower.

    For the first time, it seems, the entire world knows what it’s like to live inside my head.




    and

    How to use social proof for gaining credibility and boosting conversions

    The internet has given many web companies the chance to rise and meet new audiences. The challenge for these companies is the competition to grow the customer base and build the companies’ credibility. One of the ways to do that is to use social proof as a marketing tool. Many people make decisions regarding a […]




    and

    Benefits of Approval Studio Proofing Tool for Designers and Creative Teams

    Among all of the design agencies’ headaches, artwork proofing is probably one of the most acute ones. Forwarding countless numbers of requests, following up your approvers with reminders that they have a file to check, searching for their feedback in the endless pile of emails or messages… Quite daunting, to say the least, and quite […]




    and

    How to secure a website and be foolproof against surprises

    The internet is an excellent resource for all kinds of information. However, with all of its advantages, there are also some things that you need to pay attention too. Knowing how to secure a website is a must, and anyone with an online identity needs to pay attention to this. As the internet can also […]




    and

    solar power advantages and disadvantages

    Solar power is a free natural source of energy from up above, it's a gift of God, we call it the sun and it is for everyone to use. Solar cost may be much lower than you might expect.




    and

    Land Your Dream Job with Vettery (Sponsored)

    Whether you’re an experienced pro or someone new to the industry, finding a great job can be a scary, stressful process. Engineers and designers get inundated with Hacker Rank tests, portfolio requests, and a variety of other queries. Vettery improves the experience for free agents by creating an atmosphere where businesses reach out to you! […]

    The post Land Your Dream Job with Vettery (Sponsored) appeared first on David Walsh Blog.




    and

    View Mac Calendar from Command Line

    As someone that loves using UI tools, I do pride myself in learning how to accomplish the same feats from command line. Don’t believe me? Check out my Command Line tutorials section — I guarantee you’ll learn quite a bit. Recently I learned that you can view basic calendars from command line with the cal […]

    The post View Mac Calendar from Command Line appeared first on David Walsh Blog.




    and

    Tips for Working Remotely and Enjoying It!

    With the coronavirus spreading and employers telling employees work from home if possible, there are scores of people getting their first taste of working remotely. Depending on your experience and discipline levels, this could be a welcomed change or a complete culture shock. The amount of freedom your find yourself in can be similar the […]

    The post Tips for Working Remotely and Enjoying It! appeared first on David Walsh Blog.




    and

    5 Essential git Commands and Utilities

    For many of us, git and GitHub play a huge role in our development workflows. Whenever we have a tool that we need to use often, the more fine-tuned we can make that tool, the faster we can get things done. The following are five git commands or helpers that can make your developer life […]

    The post 5 Essential git Commands and Utilities appeared first on David Walsh Blog.




    and

    6 Causes of Pixelated Text in Photoshop and Their Fixes

    You’re working on some text in Photoshop for your photo. Things are going along great…until you realize that your text is horribly pixelated! Why? You may have even created this exact type of file before and not had this problem. Why is the text pixelated now? There are a few things that can cause pixelated text in Photoshop. The good Continue Reading

    The post 6 Causes of Pixelated Text in Photoshop and Their Fixes appeared first on Photodoto.




    and

    How to Use Lightroom Presets- A Handy Guide

    How many of you love wasting hours of time making the same basic edits to a lot of photos? Anyone? No? Well, that’s understandable. None of us like doing menial repetitive tasks and it’s no different when editing images — even for those of us who enjoy the editing process. The good news is that Lightroom has a handy tool Continue Reading

    The post How to Use Lightroom Presets- A Handy Guide appeared first on Photodoto.




    and

    How to Make Money With Photography and How Much Can You Expect

    Live your passion. That’s what you’d like to do, right? Spend your days doing what you enjoy? Unfortunately, you gotta eat and do adulting things like paying bills. For that, you need money and your passion might not be good enough. Or is it? There are many ways to turn your passion for photography into an income stream. None of Continue Reading

    The post How to Make Money With Photography and How Much Can You Expect appeared first on Photodoto.




    and

    How (And Where) To Mount an Action Camera (On Anything!)

    Pictures and video from an action camera can be awesome. But how do you get the best shots? It’s all about the mounting of the camera and we’re going to tell you how to do it. How and where do you mount an action camera? The most popular place to mount an action camera is on a helmet using a Continue Reading

    The post How (And Where) To Mount an Action Camera (On Anything!) appeared first on Photodoto.



    • Cameras & Equipment
    • Photography Tips & Tricks
    • action camera accessories
    • action camera mounts
    • mount action camera on anything

    and

    6 Must Have Developer Tools and Services for Your Projects in 2019

    This is it! Your one-stop shop for developer tools and resources. Designed to save you time and money, streamline project workflows, boost productivity, or all the above, Choosing the right tool for the job is never easy for several reasons. There’s a huge number to choose among, you have to know what to look for, […]

    The post 6 Must Have Developer Tools and Services for Your Projects in 2019 appeared first on WebAppers.




    and

    Save time by using these builders for portfolio websites and pages

    If you’re a professional wanting to showcase your products, what better way is there to do so than with a personal portfolio? Maybe one that’s presented in a way that invites close study? A portfolio used to be a folder of papers you would carry around with you when visiting one potential customer after another. […]

    The post Save time by using these builders for portfolio websites and pages appeared first on WebAppers.




    and

    Mobile App Website Inspiration: 20 Application Websites and Tips to Help You Design One

    It may seem a bit curious that more than a few app websites are only given a cursory inspection by app owners. It is given before being largely ignored because visitors have gone elsewhere. The reason for a given website may be completely valid in that it addresses a well-established need. It has a poor […]

    The post Mobile App Website Inspiration: 20 Application Websites and Tips to Help You Design One appeared first on WebAppers.




    and

    15 Effective Tools and Services You Should Pay Attention To

    One of life’s pleasures is discovering when some small action taken yields a highly positive, or even a game-changing outcome. A web designer could spend many hours creating a modern website with old tools. A single new tool or a single new service could cut the time required to do so dramatically and produce an […]

    The post 15 Effective Tools and Services You Should Pay Attention To appeared first on WebAppers.