Thoughts on Mental Health, or, Can’t You Just Make Yourself Do It?

You may be wondering what this post could possibly have to do with technology. Everything, and nothing. Nothing to do with any technology we work with, but everything to do with the people who make it. When asked in a 2018 survey on mental health in technology by Open Sourcing Mental Illness (OSMI), 99% of the 191 respondents (out of 417) who answered the question, ‘Have you ever been diagnosed with a mental health disorder?’ said yes. In the 2017 survey, 324 of 756 respondents who answered the same question, 97% said yes. In the 2016 survey, all 1570 respondents answered the question, ‘Do you currently have a mental health disorder?’ 42% said yes, 36% said no, 22% said maybe. On the same 2016 survey with all respondents answering, ‘Have you been diagnosed with a mental health condition by a medical professional?’, 51% said yes, 49% said no.

You may be wondering what this post could possibly have to do with technology. Everything, and nothing. Nothing to do with any technology we work with, but everything to do with the people who make it. When asked in a 2018 survey on mental health in technology by Open Sourcing Mental Illness (OSMI), 99% of the 191 respondents (out of 417) who answered the question, ‘Have you ever been diagnosed with a mental health disorder?’ said yes. In the 2017 survey, 324 of 756 respondents who answered the same question, 97% said yes. In the 2016 survey, all 1570 respondents answered the question, ‘Do you currently have a mental health disorder?’ 42% said yes, 36% said no, 22% said maybe. On the same 2016 survey with all respondents answering, ‘Have you been diagnosed with a mental health condition by a medical professional?’, 51% said yes, 49% said no.

So, it has everything to do with Technology. If you’re interested in more data, please visit osmihelp.org/research.


On a recent Saturday morning, after two weeks of troubleshooting after LeaseWeb took a crap for 24 hours, and the subsequent move to another provider (LiquidWeb), I finally, FINALLY had my portfolio website up and running again. I still don’t know what went wrong in the move to LiquidWeb, but deleting the entire Laravel app off the server and re-publishing fixed the hanging server issue. I also (after much confusion) remembered to switch a debugging change on a route back to a “get” from a “view” so that the now error-loading website, would continue on its merry way.

I’m back to zero now, and can get back to work on Patternography again, which I’ve been slowly chipping away at when I have the time and energy. Great! Except, even with my laptop open, the code right in front of me, I can’t make myself work on it. Why?

I wish I had an answer to that question, but I don’t. I have been diagnosed with a condition called Cyclothymia, which, before I was diagnosed, I jokingly would say I feel like I have bipolar light, which, it turns out was closer to the truth than I expected to be. I also have been feeling pretty burned out at my job, but I don’t have enough vacation time to really get away and deal with the fallout. This, I think is part of the answer as to why I just can’t. make. myself. do. it.

There are many things that have been suggested to help make it bearable, or even better, but unless I can really unplug from my job for a month (spoiler alert, I can’t, I can’t afford that), I won’t really be able to fix the root issue. However, I have a few tips that have worked for me to help keep my Cyclothymia under control, even if the burn out is a continual problem.

Finding something that seems manageable.

I couldn’t make myself write code, so I started doing other, smaller, more manageable tasks. Namely, writing blog posts on things I’ve done that I probably should have written months ago (this is the third post I’ve written today). Writing felt like a doable task. It doesn’t always have to be something on the laptop, but a change of gears of some kind helps. Today it was writing, sometimes it’s sewing, sometimes it’s just letting it happen. When I let it happen, I usually end up napping for several hours (which I really wanted to do also on this particular day) or veg out and binge watch something.

Baby steps, but only tell yourself you’re going to do one.

Something my therapist taught me to do has been very helpful. When I’m feeling overwhelmed by something, a sewing project for example, I tell myself, I’m just going to print the pattern, I’m not going to put it together, I’m just going to print it. Then, I’m going to put it together, but I’m not going to cut it out, and so on and so forth. If I already have the pattern ready to go, the baby step to start might be, I’m not going to cut the fabric, but I’ll get it out and look at it. Then I’ll cut it out, but not sew anything. Through out this process, I also give myself permission to walk away at any time, which takes the pressure off, because I’m a completionist to the nth degree. Once I start it, I frequently feel a drive to complete it, no matter how late at night it is.

Anything worth doing is worth half-assing it

Now, this is a little strange, but I promise once you get it, it will change your life. There are things worth half-assing in your life. As a former G&T kid, I have a perfectionist streak that makes me not want to do something if I’m not going to amazing at it with relatively little work. This theory, however, points out that a little of something important is better than none of it. Don’t feel like slamming in a whole workout? Do 5 minutes, or 5 pushups. Dry shampoo is a miracle like no other when you’re not feeling like taking a shower, as are the cloth wipes to wash your face and hit the highlights with.

For crying out loud, GO TO SLEEP, get some exercise, and get some SUN!

You need that vitamin D. It’s winter in the northern hemisphere at the moment, so you may need to get a sun lamp to get that precious vitamin that helps you out on these cold, grey days. And, even just a few endorphins help from that 5 minutes of exercise you talked yourself into doing because you know 5 minutes is better than none.

I also can’t stress enough how much better I manage the swings that come with Cyclothymia than I do with a solid 8 hours of sleep, on a relatively consistent schedule. I try not to stay up extremely late (though these midnight deployments at work make that a lot more difficult), and I get up roughly the same time every morning, no matter what the snooze button on my alarm says.

Even though these have helped me, they may not all work for you, so my last piece of advice, is see a therapist and talk to your doctor. Therapy has absolutely done wonders for me, more than the consistent sleep schedule to be honest. As much as I wish I could just make myself do X, Y, or Z, it’s just not possible. We’re all trying to figure out this balancing act, and I hope I’ve helped, even a small amount with yours.

I’m off to get 5 minutes of cardio in before I hit the sack for 8 hours (which will sound super weird, because I scheduled this to publish in the middle of a Wednesday) and hope that tomorrow, my code will get written.

dog snuggling up to its human for a nap
sleeeeeeeeeep

Name For State: A Volunteer Site You Can Believe In

The title may be overstating my development abilities a little bit, but I did build a volunteer sign up site for a friend of a friend who was running for office in 2018. The candidate wanted to be able to have volunteers sign up to hand out literature at polling places in their district. I was asked to handle the front end, since the friend who asked is a former co-worker from when I did only front end work.

The title may be overstating my development abilities a little bit, but I did build a volunteer sign up site for a friend of a friend who was running for office in 2018. The candidate wanted to be able to have volunteers sign up to hand out literature at polling places in their district. I was asked to handle the front end, since the friend who asked is a former co-worker from when I did only front end work.

I had just upgraded an ng2 site at work to 6, so I thought, why not! I’ll use ng6, it can’t be THAT different starting from scratch at 6 vs 2. Well, it was different enough that in my time crunch, I didn’t have enough time to really re-familiarize myself with the framework to build in ng2. Someone I met at PHP Detroit in July 2018 had mentioned Vue.js in a then recent twitter conversation. I briefly checked that out as well. Though it may be quick to pick up, I didn’t have the time to do it and not completely screw it up, so I went back to what I’ve been working in the most — Laravel and Blade.

I have always been terrified of passwords, so this was the first time that I had actually implemented a log in of my own of any kind. And, it was… not that bad. PHP makes it a lot easier than I thought it would be, and really the data breaches that keep happening have more to do with server security (and terrible business practices) than with how I hash and salt the passwords before storing them. (But, like, if you’re new to coding, Rule #1: Don’t store passwords plain text. Don’t send them from your site to your server in plain text either.)

woman waving her hands to get someone off screen to stop doing something.
Trust me, just don’t.

I didn’t know about all the cool auth stuff that is built into Laravel yet (because I didn’t read, I was in such a rush), so I manually wrote the authentication for the users, and, surprise surprise, I didn’t die, and the world didn’t end.

Another thing I didn’t get to do (because I didn’t control the database on this project) was use Eloquent or write any migrations. Which sucks, because now I know that writing migrations is actually fun! (Unless it’s the initial set up of a database, then it’s a beast and a half.) However, since eloquent still allows you use raw SQL, I was easily able to work around that problem.

As stressful as it was to build this and almost not make it in time for any volunteers to have time to sign up, it was a super fun project, and I learned a ton doing it. I learned to:

  1. Not be afraid of passwords (be paranoid about server security instead).
  2. Do not let the size of the project and the short amount of time paralyze you, it only makes the stress worse!
  3. If it scares you, do it anyway (though this is a lesson I need to learn over and over and over again, apparently.)

I will (probably?) clean it up and offer it as a part of the volunteer work I will be doing with FlipBlue on the 2020 election cycle. I’ve definitely gotten more politically involved, and I plan to use the skills I’ve learned at work, to work in a way that is more satisfying to me. This was a nice dip into that pool.

Dog in floaty toy in pool.
Can it be summer now? This winter is killing me!

AddThis: A New Love Affair

I’m 1000000000000% certain I am very late to this party, because there was a long time between the first time I used AddThis, and the most recent time that I used AddThis. The new interface, the excellent customizing options, I’m in love.

I’m 1000000000000% certain I am very late to this party, because there was a long time between the first time I used AddThis, and the most recent time that I used AddThis. The new interface, the excellent customizing options, I’m in love.

My main complaint was that I didn’t like the floating buttons being the only option, if I’m recalling correctly. But I was so very pleasantly surprised when I had to implement AddThis at work recently. They have made some vast improvements to all options available, and the tool set is free now! Though, to be honest, I didn’t realize they weren’t before?

Being able to choose between floating and embedded is HUGE for me. I love how the buttons look, the ability to customize the colors for both types of tools, naming the different tools you use for easy tracking, the analytics.

At work, it was super easy to implement into our Magento 2 instance, which, if you’ve done any Magento 2 development, you know that is no easy feat. It seems (to me, anyway) that integrating anything in Magento is a giant pain. So, after that seamless experience with implementing at work, I decided to implement here too.

So I did.

After getting really frustrated trying to figure out why my site wasn’t working after moving servers, I took a break to update my social links in the footer to align left, and use the embedded AddThis, then added the share buttons to the individual blog posts that I pull in dynamically using the API. (Eventually I’ll get comments back on the bottom of the posts, but it’s not one of my highest priorities.)

It was so easy to use, 10/10 will use again. And again and again and again and again and again and again and again and again and again and again and again.

**I was not compensated in any way for this post.**

The Brand New NJM

Welcome to my latest labor of love, the NextJen Mobile Redesign!

Welcome to my latest labor of love, the NextJen Mobile Redesign!

I worked on this on and off for about 2 months, and really struggled through some weird issues. Even though I’ve made notes, I do not remember all of the issues, and my notes are rather cryptic. Oops…

This site was designed using Material Design (MD) principles and the Material Design Light (MDL) classes, though last I knew, Google is trying to move from MDL to integrated Material Design, only.

I re-built the site from its half built (Angular2) state, in Laravel + PHP. I’ve been wanting to really learn Laravel, and though I’ve taken a couple classes, I don’t ever feel like I’ve really learned a language or framework until I build something with it.

First thing I learned that I won’t do again, is use the material design classes of either the light or full version. I found the documentation lacking, implementing was confusing, and a lot of the functionality, you can get from using CSS grid or Flexbox with Bootstrap instead. I will probably still use the Material Design tools to be able to capture the ideas and principles behind MD without using the actual framework. High contrast colors, simple icon design, and the general accessibility to the end user is what drew me to it in the first place, but carrying those principles into your design doesn’t have to be through use of the confusing and frustrating MD framework.

I absolutely would recommend the Resizer tool though. It is a neat tool that allows you to see your (or whatever site you put in the url box) site at different breakpoints all at once, or individually. In the mobile portion, you have several different sizes you can choose from. I’ll definitely will be using this tool again.

Another design element that I use in this site (and am a big fan of) is the sticky footer. It stays nicely where it’s supposed to be and doesn’t get in the way of the content. I always struggle with them, though, and refer to this article frequently, if I don’t remember what I did the last time.

The next thing I learned is that I freaking love Laravel. It can be convoluted at times, and I definitely am not a tried and true expert (yet) but after re-designing and re-building this site over the summer, I built a volunteer sign up site for a friend of a friend who was running for office using Laravel. I learned even more building that, as it involved log ins, etc, but more on that in a future post.

This brings me to the next thing I learned, which is that it is possible to publish a Laravel site on a shared server. It’s not always the easiest thing to do, but you can do it. I might write more about it later, though I have the advantage of living with my server admin, so I definitely have more access than most on a shared server instance. This is a cPanel server, and I know that, like with PHP, people like to shit on it. But, I like it (and PHP) so if you want to give me grief about it, don’t @ me. I also see a lot of people asking about cPanel servers and Laravel, so I’m not alone.

Completely switching gears now, let’s talk about the software I used to build it. JetBrains continues to kill it with their toolbox, and I use PHPStorm daily in my development at work and at home. One thing you may have noticed this summer though, with the 2018.2 update is that you start to get weird Composer errors for ext-curl and other things you may use implicitly in your app. To solve this you just need to add “ext-curl”: “*” (or whatever it is that its throwing an error on) to your composer.json and re-run the composer commands. It will make the error go away, and no one could give me a satisfactory answer as to why. Someone may have found one and published it since I made this note I’m referring to in July 2018, but it works, and to be honest, that’s all that matters to me at this moment.

I have four more notes to cover from my Trello checklist for this post, but given that I waited almost 8 months to write this post, I don’t remember exactly what they are referring to, so I’ll list them here and hope that I remember what were referring to at some point. ¯\_(ツ)_/¯

  • Paging WordPress (I used the WP-API to pull in blog posts)
  • .htaccess breaks if missing on WP-API (I’m guessing this has something to do with the myriad of .htaccess issues I had once I published the site)
  • rewrite condition (This may be a reminder to make sure that you have your rewrite for your public folder in your Laravel app or nothing will work)
  • use config() instead of $_ENV when accessing .env variables (this, I believe, has to do with accessing the WP-API on LIVE vs local, but I’m not positive. I’ll come across it when I break everything again, though!)

This post got a little rambly, but I had a lot to cover, and trying to martial my brain to remember 8-10 months ago development is a lot harder than I expected it to be! I’m really happy with how the site turned out, and I will be (hopefully) more frequent with my blog posts. Especially as I catch up on what I’ve been doing the last few months outside of work, and continue to add features to this site!

✌🏻