St. Jude Children's Research Hospital

I’m running a campaign to help toward Relay FM's St Jude fundraiser. My goal is $500 so if you can donate please do!!!

Oh and I'll match the first $150 in donations (excluding my own)!

Donate here

St. Jude Children's Research Hospital gives totally free care to children and their families that are battling cancer. It's an amazing cause and a dollar or 5 helps a lot! You can read a lot more about St. Jude here: about St. Jude

StarShip Test Flight - a Sight to Behold

This flight was the first “high altitude” flight of the StarShip vehicle and while it crashed on landing it was a huge success in proving out multiple technologies and techniques that Starship will use. This is just the second stage of a rocket that will be bigger than any rocket humanity has ever built, it’s a small step in the process but an amazing thing to see.

Make sure you watch the flight in the video above which should start a few minutes before liftoff, you won’t regret watching it.

Peak Design “Mobile” Kickstarter

I’m super excited about this Kickstarter. I’ve already backed it because I want this in my life. I’m truly amazed at what they’ve created and as with all truly great designs it feels obvious in retrospect.

So what is it? It’s a phone case or slim (2mm) adapter that lets you quickly attach to different accessories either magnetically or a super strong physical clip. Check out the YouTube video below.

Using JQL in Jira

Summary

JQL (Jira Query Language) is a powerful tool to help you search for, filter, and sort tickets. Here we'll go over some of the more complex uses for searches and filters your team might have.  You can reference these Jira pages for a full run down of JQL.

Fields

The first part of any query is going to be the Jira Field that you're querying. Examples of Fields are: Reporter, Project, Assignee, Due, Labels, Parent, etc. You can also query custom fields with their Custom Field ID, which your Manager or a Jira Administrator can help you find.

Operators

There are about 15 operators that can be used in JQL but each field may only support a subset of them. Here is a list of fields and their supported operators. Here are the most commonly used operators and what they mean:

The "=" operator is used to find an EXACT match in the specified field. See "~" for text fields.

=
Reporter = JSmith

The "!=" operator is used to find anything that is not an exact match in the specified field. See "~" for text fields.

!=
Reporter != JSmith

The "IN" operator takes the place of multiple "=" so as to find an exact match from a list of values in the specified field.

IN
Reporter IN (JSmith, JAppleseed, GWashington)

The "IN" operator takes the place of multiple "!=" so as to exclude any exact matches from a list of values in the specified field.

NOT IN
Reporter NOT IN (JSmith, JAppleseed, GWashington)

The "IS" operator is only used to find if a field is Empty or Null.

IS
Assignee IS Empty

The "IS NOT" operator is only used to find if a field is not Empty or Null.

IS NOT
Assignee IS NOT Empty

The "~" operator is used to find if a field contains text. No quotes searches for a single word, quotes means they will search for all words inside the quotes without needing them in the order entered and "\"short phrase\"" means it will find text that is an exact match to the entered phrase.

~
Summary ~ change
Summary ~ "change password"
Summary ~ "\"change password\""

Creating Complex Queries

Now that you've learned about how to search within a field, we can chain them together using these keywords to make them much more powerful. These are the two most commonly used keywords but the full list is here.

The keyword “AND” combines multiple search parameters or clauses together so that each one has to be true to return a result.

AND


Returns all tickets with IT-Team label that are in any kind of Open status.

labels = IT-Team AND status not in (Closed, Canceled, Resolved, Completed, Done)

Returns all tickets with IT-Team label that have work logged on them.

labels = IT-Team AND timespent is not EMPTY

The keyword “OR” separates multiple search parameters so that each one can be true to return a result.

OR

Returns all tickets with either a Time to First Response SLA time with < 1 hour remaining OR a Time to Resolution SLA time with < 4 hours remaining.

"Time to first response" <= remaining("1h") OR "Time to resolution" <= remaining("4h")

Parentheses 

Parentheses “()” can be used to set the order of operations or allow parts of the query to be grouped. 

The parenteses in this case simplifies the logic as you can see the first example is much shorter and easier to understand than the second line.

Project = Tech And (Status = Escalated OR timespent IS NOT EMPTY)

Project = Tech And Status = Escalated OR Project = Tech And timespent IS NOT EMPTY

Using Complex Queries

Showing all Open IT Tickets while excluding sub-tasks.

status not in (closed, Canceled, Resolved, done, completed, Done) AND issuetype != sub-task AND labels = IT-Team

Showing all Resolved IT Tickets with a Customer Satisfaction Rating.

filter = "All IT Tickets" AND status in (closed, resolved, completed) AND Satisfaction is not EMPTY ORDER BY updated DESC

Building On Other Filters

Reusing the "All Open IT Tickets" filter so that we don't need to rebuild that logic and adding the specification to show a subset of that filter with less than 1 hour in the Time to First Response SLA.

filter = 10031 AND "Time to first response" <= remaining("1h")

Using Filters to Build a Team Dashboard

Building a Dashboard is a way to view multiple filters and other data in one place. 

To Create or Not To Create Documentation

Documentation is an extremely important part of any organizations tech support system. You need to have good documentation on how things work and tie together so that you can efficiently and effectively troubleshoot. But something often overlooked and underutilized is user facing documentation. Should you create a “how to” document for each piece of software or process in your organization? Where to draw the line is a grey area.

This grey area is the middle of a spectrum from waaaay too much -> waaaay too little information provided for your users. It’s important for you to give your users something that they can use as a starting point for software or processes but you will drive yourself crazy if you try to document everything. The loose rules I like to use for if I need to document something for a user are as follows:

  • Is this going to require more than 5 clicks?

  • Are more than 25% users going to use this more than once month?

    • Double the percentage of users that will use this and that’s how certain to be you need a document. I.e. 30% equals 60% certainty and 75% means 150% certainty :wink:

  • How often do we (the support team) need to help a user with this?

    • If it’s more than twice a week you should probably have a document for it.

Those super loose rules aside documentation is meant to the user AND to help you have more time to focus on other tasks. Use this XKCD comic as a good metric for time savings but also remember that documentation is also to help users, not just save you time.

Automation 2.png

Being Inclusive on Discord and Slack

So I LOVE the discord community of Off-Nominal and while we’re not super diverse I always try to approach things with diversity in mind. I’ll note that as a community we’re working really hard to improve our diversity and we will do better (see more of what we’re doing to improve and help).

So one of the most common things that we all do on Discord is “react” to posts with emoji, everyone is familiar with this and Slack popularized it years ago. This is what it can look like with a mix of faces, custom and animated emoji.

Adjustments.jpeg

While it might sound silly the biggest thing I do is only use the default color emoji when I react to a post. 🤘👍 I know that I would be hesitant to react using a darker skin tone “thumbs up” emoji someone had already used so I don’t want to make anyone feel that way. The default color is most neutral and is most likely to be used by everyone. I will use my own skin tone emoji when typing a post 🤘🏻👍🏻 but that’s my words and actions so I feel its okay there but in a reaction I want everyone to be able to quickly second a reaction emoji.

Another thing that I do is to always use neutral pronouns I’ll say “I think they meant” instead of “I think she/he meant” that way I’m not using a gendered pronoun where someone wouldn’t like me to.

These are tiny little things but I believe that it’s big and small acts that improve our inclusivity. If there are other things I can do please let me know through my contact page.

Future

I’m not sure what the future holds or even what path I’ll take to meet it but I do know some things and I wanted to share a few of them in no particular order:

  • I am immensely grateful for the support and encouragement I’ve gotten from my friends and family. I could have made it here without it but I don’t know if I would have. Thank you.  
  • I have made huge progress in controlling my anxiety instead of it controlling me. I have a lot of people to thank for this but Britney my therapist for a year and a half was a huge help (big surprise lol). Thank you for what you’ve given and what you’ve yet to give.  
  • I am so much happier in my day to day life than I’ve been in a long time. Life isn’t easy and I still have rough days and stressful moments but they are tempered by the joy I have and the friends that help to create joy.  
  • I will never get over or forgive some things in the past but they shouldn’t be an anchor they should be a guide for where not to go and what not to do.  
  • This is not the end; much of the story is yet to be written.  

 

Going Public with Life Altering Social Anxiety

I want to tell you something so you can better understand me and so that I don't have to hide behind lies or half truths anymore. I'm sorry that I've lied but this is a difficult thing for most people and especially when you're the one going through it.

We all have routines, we go through most of them every day without even thinking about them. My routines the past three months have been quite different than what most people have. This is about what those are, how I got them and the consequences of not doing more to deal with the underlying issues.

You get up in the morning and take a shower. You drive to work. You finish work and you drive home. You make dinner. You go to bed. Among many other little things, these are some of the basics that most of you go through at least a few days a week.

But this is how my days have gone: I wake up in the morning in the back of my car and drive to the gym where I take a shower. I drive to work when my anxiety doesn't trap me. I finish work and drive "home" to the same Walmart I've parked at the past three months. I eat dinner, what wont spoil in the heat and will give me something akin to a "healthy" diet. I crack the windows and curl up in the back seat of my car.

I'm homeless. I live in my car. I have a gym membership not to work out but to have a place to shower and clean up. I'm not telling you this to garner sympathy. I got myself into this situation and I trying to learn my own strength so that I can deal with things in a more healthy way.

I don't think that my anxiety is particularly strong but I know that my responses to it need to improve a lot. I will never be rid of the anxiety in my every day life but I don't have to let it control me. That's why I'm getting back on medication as well as a few other things to help control it instead of trying to hide from it.

We all have anxiety about something, for me at least it's there for everything. It's like hearing "is this how you want to look going in there?", "is that the right thing to say?", "will you ever do a good enough job?", "remember how badly this went last time?" All day about almost everything. The only time it leaves is when I'm too busy thinking about something else. Bit the moment that I slow down its back.

I've felt this way for as long as I can remember and for as long as I can remember I've hid from it in books, movies, tv and learning about anything that strikes my fancy. But again, the moment something ends or is put down it comes back.

I try to push myself to go sit at Starbucks to at least be around people instead of sitting alone all day. Or I'll make myself go dancing but I'll hide in a corner or behind my camera. Sometimes these experiences are helpful, that show me that I can do this but then sometimes they backfire and they discourage me and trap me in a feedback loop of anxiety.

I truly haven't really minded living in my car much. I wish I could stretch out instead of having my knees bent to fit in the back seat but I'd be content if I wasn't afraid all the time of just interacting with people. Some of you have talked to me and may not even know of my anxiety and very few people knew of my situation because I work hard to seem "normal" in general.

But probably the most time important thing that I need to tell you is that after next weekend I'm moving back to South Georgia to live with my grandmother so she can help me get my life back on track. So I'll be gone for 3-6 months and then I plan to return to Austin.

But I wanted you all to know because I appreciate your friendship whether it's close or not. I only made the decision or realized I was had no other choice but to move back with my grandmother today. I wish I had more time with everyone here but I will be back.

Local Dances

I love photographing our local dances. Not only do I get to photograph my friends and neighbors I get to see how happy they are to have each photo. Here's are photos from Code Blue and BAT Bash

Changes to the App Store

John Gruber of Daring Fireball had two great posts today detailing the big changes that are coming to the App Store. His first post talks about all three of the changes that are happening (faster review times as we've already seen, an increase to the cut that developers get from subscriptions after a year and ads in search results) while his second post goes into detail talking about the new options the subscription model offers developers of a lot of apps. If you have any interest in developing apps for any of Apple's platforms you need to read them both.