The one where I do explain my pictures

So a few weeks ago I shot one black and white picture of my every day life each day for seven days. There were not supposed to be any explanations, but this is my blog and I can do whatever the hell I want. :)

Day 1 – Publix

The first day, a Tuesday, just so happened to be the day I needed to do a number of groceries. Typically, when I need food stuff I will walk to the Publix that is basically down the street. It’s close enough to walk to and it makes living here without a car a whole lot easier.

Day 2 – Lake Calabay

On days where I don’t have a whole lot of anything to do, I will typically take walks. Right behind the apartment complex where I live, there is a lake smack-dab in the middle of other gates communities. Apart from the occasional car and the sprinkler system (when it’s on), it’s also really, really, really quiet. It helps me think and unplug, at least for a little while. It’s even better when the sky is clear, because then the stars are pretty decently visible.

Typically on these walks I will listen to music, which is really great at getting my thoughts focused.

Day 3 – The cop out

This is the day where things went to hell a little bit. I’ve ordered a bed frame from Ikea on October 28. They use third party shipping partners, who didn’t receive the frame in time to deliver it to me on time. The number they left for me to reschedule simply went to voicemail. I had to work through Ikea’s support to get my delivery rescheduled for this day. And then they came, and I found out that they had sent me the wrong size frame. Fingers crossed that they will deliver the correct item tomorrow, a month later.

I had intended on taking a picture of the comic book store we went to that same night, but forgot and ended up simply taking a picture of my bedroom ceiling fan.

Day 4 – Beer!

Friday! Trying to salvage my week, I ended up walking up to ABC and getting beer. Usually I will end up getting Duvel or Guinness or something of that nature, but this time around I had opted for something new. A triple dry-hopped beer from Belgium called “Piraat” (“Pirate”). It definitely made me significantly more open whilst texting that night, and I’m not sure if I should be glad or embarrassed about this. It doesn’t seem to have done any harm, however, for which I am definitely happy. :)

Day 5 – Solo “dinner and a movie” date

Sorry, diet. Sometimes I just need a filthily fat burger with a side of carbs. After this dinner I ended up at the theatre across the street to go and see “Murder on the Orient Express”. This movie was certainly entertaining, but I’m not very familiar with the 1974 version or how they compare. In any case, that moustache is definitely pretty epic.

I didn’t used to go to the theatre a lot, but now I’ve gotten used to it it’s kind of nice. If the movie isn’t quite living up to expectations it also allows me to just sit there and space out for a few hours.

Day 6 – Fantasy prep time

Lord of the Rings is a fantastic book, and the film is a lot of fun to watch. It does, however, not age very well in some of the effects. Specifically, anywhere there are apparitions (whether it’s Boromir appearing behind Faramir and their father or the Army of the Dead, it doesn’t matter) or where people are interacting with Gollum. This may have to do with that the HD and large screen make detail a lot more noticeable, I’m not sure.

I have seen this film more than enough over the course of this week to be okay not seeing it for a while. Ultimately it didn’t help a whole lot with the trivia night, but that’s okay. I definitely had a lot of fun with it and playing Mario Kart on the Wii. :)

Day 7 – Books, and video games

The final day, the final photo. It essentially represents the remaining parts of my life: reading books and playing video games. I enjoy both of these things a lot, but lately my PS4 is basically just a stream-machine, while my Kindle is getting all the attention.

 And there they are. My daily life in a nutshell.

On anxiety, and what it means to me

I am writing this to see if it helps my own issues and in hopes that this helps anyone else on this fine mental health awareness day as well (even though I’m a day late now, d’oh!). I am definitely _not_ interested in a pity party.

Now, get ready for some rambling. And inb4 “woa, really? I wouldn’t have thought…”. :)

For a good part of my life, anxiety has been a defining factor for how I feel on any given day. Now, I should really preface this by saying that I’ve never been officially diagnosed with any disorders. I only strongly suspect that they are there through descriptions of others that have been diagnosed.

Growing up, therapy was often not deemed necessary by the sober, Calvinist, Dutch. A mindset that persists, and is somewhat amplified by pop culture, today. And so I have been really very hesitant about finding help, in part too because I’m not sure where the line between normal and not lies. And so for the longest time I didn’t think anything of it and thought it was just part of life. However, I know I should look for help now that I’ve noticed that things have started to get worse over the past couple of years.

Anxiety, for me, really means a number of things. At a physical level, there’s a lot of uncomfortable shaking and heart racing and trouble sleeping. Triggers may be crowded areas, or simply having to talk to strangers or a crowd (in person, over the phone, even on text chat, it doesn’t matter). It means I probably won’t be able to go to the bathroom in public because of a shy bladder (best case scenario: I end up standing around for minutes before it finally goes, but lord help me if someone just happens to come in just before that). It means I will probably decline invitations to hang out. It means I will most likely try and find a way to email instead of phone so I can think carefully about what to say. This kind of backfires when either the site doesn’t work, or I get redirected to “just call us”. Usually that’s just the end of that for me when that happens.

On an emotional and mental level, it means I overthink and overanalyze _everything_ and becoming a bit of a perfectionist. Which leads to me rather just not trying something new. It means I am deeply terrified of making mistakes. It means I am deeply terrified to be judged badly for anything I say or do (and yes, that includes this post). It also paves the road for that freeloading dickhead “impostor syndrome”.

It means that I may get depressed over something someone says to me. And not because they mean it badly, but because my brain has decided that it could be and I was too afraid to speak up and get it clarified. Instead, I will have conversations in my head that will most likely never take place. It means I will regularly have bouts of (usually mild) depression, feelings of guilt, and mood swings. There are days where the only thing that’s getting me out of bed is my loyalty to the company I work for. If it’s the weekend, forget it.

Basically, I feel most comfortable when I can just be without too much attention directed at me. That way I won’t worry as much about being judged. Paradoxically, then, when my brain decides to turn that around on me and pulls out the “you’re being ignored, you might as well not exist” card. Fsck you brain. :)

I’ve found ways to help cope with some of this, but they’ve all been very temporary at best. Distraction through music or film works best, but is absolutely not fool proof. Running and meditation work for a moment until I get tired of stopping my mind from drifting. Even writing this post feels better, even though I probably won’t sleep for another hour wondering about it, what changes I can make to it (14 revisions and counting so far), and what the response may be.

If any of this sounds familiar to you, and you’re noticing that it is adversely affecting your ability to function, I can only suggest to look for help if you haven’t already. I know it’s easy to slip into this “it’s just normal” attitude, and definitely know it’s easy to downplay it with humour. But I also know I will seek out help (eventually, heh). Even if it’s just to confirm and make sure.

The End of an Era (and the start of a new one!)

Friday the 14th of October was my last day at Highforge. Just half a month shy of 4 years I am resigning my position there to take the next step in my career. A career that has, thusfar, lacked definition. I’ve always been a bit of a “jack of all trades” and if I described my position at Highforge otherwise I’d just be kidding myself. It’s probably also a trait that will never completely disappear (I know what I know, if I can use it to help out then why the hell wouldn’t I?).

But throughout the years there has always been one aspect, the “red thread” as they’d call it in Dutch, that has been present and a guiding factor in everything I do. The thread that started in college, vastly expanded in my first job as web developer at Greenvalley (Team EH&T represent) and carries on in my everlasting self-development as frontend developer. This aspect is, of course, accessibility.

The next chapter of my career will take me to the company that, quite literally, wrote the books on WordPress. It will also allow me to continue my efforts on making the web a better place one site at a time. Starting today (Monday  the 24th), I will be a Front End developer on the WebdevStudios team (and by Tuesday afternoon I will probably be so humbled I will be in the fetal position in a corner of the room somewhere, questioning any confidence I had in my skills – hashtag imposter syndrome).

I won’t lie, this has probably been the most difficult decision in my life. It’s the first position I’ve resigned without an extraordinary circumstance backing me up (my first ever developer job I had to resign due to moving to the US and things kind of take care of themselves at that point). Not to mention that it’s the first US job I’ve resigned (I don’t know how you guys do things over here, it’s pretty anxiety-inducing at times). And to top it off, the timing for it was probably the worst ever, but I won’t get into detail on that.

In the end, I think things were handled pretty gracefully and I’m thankful that I was able to get the time I needed to get all the important stuff handed over to my successor. Just like I’m thankful for the wonderful times at the one company that decided to take that chance to bring on that weird Dutch guy that only just got his work permit (didn’t even have a green card yet at that point, paperwork for that took waaaay longer to process). It’s definitely greatly appreciated.

 And with that, I will leave you with this. Onward, for the glory of Helm (this link will lead to a Wikipedia article about Helm, a deity in the game D&D)!

PHP CodeSniffer, Atom, and Windows

I’ve used linters before. Specifically for JavaScript. But this will mark the first time I’m using a linter to improve my code formatting on PHP. I had heard of CodeSniffer before, and I also already knew it’s bundled with VVV. So I thought: “You know, it may be easier if I can get this working straight in my IDE instead”.

The kicker, however, is that I do a lot of my development at home on a Windows machine. This generally means I have to jump through a few more hoops, use elevated command line tools, and abuse the environment variables system to get things to work properly. Luckily, getting the PHP CodeSniffer linter to work in Atom wasn’t that bad. Here’s what I did to get this to work and to get the WordPress sniffer rules in Atom.

Install PHP and PEAR

To start things off, you will want to install PHP and PEAR. In that order, since PEAR is a package library for PHP applications. PHP may already be installed if you’re running a local server installation like XAMPP or WAMP. If that is the case, you can skip it but do make sure you don’t forget to add it to your system’s PATH variable.

If you, like me, use Vagrant for your local server needs, then you will want to download PHP from php.net. You will want to download a VC build zip package and extract it somewhere easy to find (I tend to drop these things into a folder called “dev” on my C drive, ie. C:\dev\php).

Once extracted, you will need to add the folder to your system’s PATH variable so that you can use it on your CLI. If you’re not sure how to do this, please refer to this article on computerhope.com describes how to set up Windows system variables.

To confirm you did it right, open up the command line (Windows Key + R, then type “cmd” and press Enter) and then type “php -v” (without quotes). If this results in “php is not recognized as an internal or external command” then it’s not set up properly in your system path. Make sure that if you make any changes to that, to restart your command line tool.

If you see the version of PHP you have, then you’re ready to install PEAR! To do this, download the go-pear.phar file from https://pear.php.net/go-pear.phar. It’s a large file, and will most likely open as a plain text file in your browser, so the easiest way to download it is to right click and hit “Save”.

Once downloaded, you can simply run php go-pear.phar in your command prompt from the folder you saved it in. This will start the PEAR installation process and it will ask you for a number of things before installing PEAR. The default settings it comes up with should work just fine, since it simply figures out where your PHP is installed. After it’s done installing, you will need to add the path it’s installed in to your system’s PATH variable. That way, you will also be able to use PEAR in your command prompt (remember to restart your cmd window after doing this).

Install PHP CodeSniffer and WordPress rules

With PHP and PEAR installed you will now be able to install PHP CodeSniffer with one simple command: pear install PHP_CodeSniffer

This will let you use the phpcs command from the command prompt. Go ahead and try it out on a PHP file you may already have (ie. phpcs my-php-file.php). Or just try printing the version (phpcs --version)

The WordPress rules can be found on Github at the WordPress Coding Standards repo. I’ve opted to use the Standalone installation, which is the simplest and lets you use git to update it in future. The final step of this, actually adding the sniff settings to your PHP CodeSniffer installation, is the most important. It’s also important to double up on your slashes. So, for example: phpcs --config-set installed_paths C:\\dev\\tools\\wpcs. If you don’t do this, it will successfully add the path, but it also will give you an error when you confirm your change with phpcs -i.

If everything went correctly, the command above should list WordPress, WordPress-Core, WordPress-Docs, WordPress-Extra, and WordPress-VIP.

Install Linter and Linter-PHPCS

With everything installed, you are now ready to set up Atom to start using PHP CodeSniffer to lint your PHP code. For this very purpose, I’m using the linter and linter-phpcs packages. You should be able to find both of these in the packages list in Atom’s built-in package manager (File -> Settings -> Install). Once they are both installed, click on “Packages” and find linter-phpcs. There should be a “Settings” button that you can click that will allow you to set the package up to use your newly installed CodeSniffer.

My settings look something like this, make sure to set the Executable path to where your phpcs.bat is stored:

My linter-phpcs settings. The executable path is set to C:\dev\php\phpcs.bat, and the Code Standard is set to WordPress.

Your settings should be saved automatically and you will now be able to use PHP CodeSniffer to lint your PHP code on the fly using WordPress coding standards. For existing files, you will generally hit Ctrl + S to trigger the initial pass on your code. But once it’s going on a file, it will automatically resolve issues it finds as you fix them.

And if your code is anything like mine when I first installed this: Enjoy your red dots of DOOM. There will be many. Good luck!

#wcorl 2015: Let WordPress Speak to Your Users: Introducing wp.a11y.speak()

WordPress logo

Longest. Title. Ever. You may be here now because you saw my talk and want a little more background information. Maybe you’ve just stumbled on this post because you’re looking for more information about wp.a11y.speak. If it’s the latter, I’d like to refer you to the official announcement post here: Let WordPress Speak: New in WordPress 4.2. If it’s the former, welcome! And thank you for choosing to attend my talk early on a Saturday morning. The full slides for the presentation can be found here: Slides for Let WordPress Speak: Introducting wp.a11y.speak(). I will update this post with a video once it becomes available. Apparently shit happened and no video is available for my talk. :<

If there’s anything unclear about my presentation, or if you just have any questions about this. Just let me know! If you want to help make WordPress better, come join us on Slack! It’ll be the #accessibility channel on the main WordPress. You can sign up through here: Sign up for the WordPress Slack on https://make.wordpress.org/chat/. If you’d like to know more about ARIA, there’s an overview about ARIA here: WAI-ARIA Overview. If you want to read the full spec, there’s a link for that too: WAI-ARIA spec 1.0.