Tech and Terminology and Political Correctness

I usually don’t post anything too political on my blog – that old saying about politics and religion is a very wise one – but I thought I’d weigh in on a debate going on in the tech world regarding some of the terms we use, and whether they should continue to be used.

In the aftermath of George Floyd’s death and associated protests and turmoil, a lot of attention has been put on many terms and symbols that are perceived as carrying racist overtones or baggage.

To be absolutely clear, I complete support black lives matter and think the vast majority of these protests are completely acceptable and necessary. This country has a lot of things to issues and racial problems are part and parcel of our history and the texture of this country. Segregation only ended in my parent’s lifetime – and we finally got gay marriage only very, very recently. And I’ve always wondered why we would have statues and military bases named after literal rebels and traitors.

In the tech world there’s a lot of discussion about changing some terms that we use – such as blacklist/whitelist and master/slave. For blacklist/whitelist I think changing it to something allow/block list or something along those lines makes a lot of sense. Think about it, I don’t think the term itself is overtly racist – however the negative/positive associated with black/white is problematic. More importantly, these are not clear terms! Allow/Block is far clearer, in my opinion.

Master/Slave is another pretty problematic term. It is descriptive of the relationship, however in most of the world the idea of a “master” will construe as white and “slave” as non-white. That’s just the reality of the world. Yes, I know there have been all kinds of slavery throughout history, some with racial overtones and much without. I was a history major! But that’s irrelevant – what matters is what makes sense to the majority of people alive now. I’d suggest something more like Source/Duplicate, or Original/Duplicate, etc. I think that still describes the relationship well, at least for a database setup…

But with Master Branch (i.e. in git) I’m not sure there’s the same racial overtones. For one thing, we don’t call other branches “slave” branches, and if we did it wouldn’t really capture the relationship well at all. A branch off master is not “controlled” or “dominated” by the master in any way, typically. Honestly, something like “trunk/branch” might make more sense, but a lot of this depends on how you use git. I just don’t see this as a problem as bad as say the “master/slave” terms!

Likewise, Master Repository has the same issues as above. What’s really being described is more like “original” versus “branch” or “derivative” etc. It doesn’t seem like that much of a problem – but it shouldn’t be hard to find a less controversial term that also accurately describes the relationship.

I guess I’m generally in favor or trying to change usage of these terms – as long as another term can be found that describes the relationship at least as well. But I also think that like most things they’re on a spectrum from more “racist” (black/white list) to less.

But, another aspect of this whole controversy should be kept in mind – arguably the organizations who are making these changes to their terminology could be helping things a lot more by becoming diverse and inclusive workplaces. I’m not saying that they’re not! But I am saying that we shouldn’t let this little debate over terms distract from more meaningful changes.

Virtual Events: How to Get the Most From Them

I’ve attended a few different virtual events now since all this pandemic craziness began, and have built up a list of tips and tricks to help people maximize the benefits they can receive from participating in online events like these.

The last event I attended was the Magento Association’s Connect event on Thursay May 28, 2020. I really enjoyed the event, it’s definitely the best event I’ve attended so far. Previously, I’ve attended the online Adobe Connect and Microsoft Build events. Those two honestly felt like little more than a youtube channel playing pre-recorded videos. This is not mean to criticize the organizers of any event, this is new territory for lots of us! There’s definitely a trade-off between interactivity and having more polished video content.

Ok, here we go with my tips:

Test Your Audio/Video
This is important for in-person events, and even more important now. Each different platform can bring all sorts of weird wrinkles and issues. Test your audio/video as much as you can ahead of time! Just because it seems to work in Zoom does not mean it’ll necessarily work in whatever online platform that is being used. Even if you’re not presenting, it’s wise to make sure it all works. You may want to try using a DLSR camera rather than your built-in camera if you can set that up, the quality will probably be a lot better.

Test Screensharing
If possible, test out how screen-sharing works – make sure you know how to start sharing, if you have to choose a window only to share, or a part of the screen, etc. Are you still visible via your camera while sharing your screen? If you’re presenting, be sure to ask for a test session ahead of time to catch any issues.

Know Your Microphone
This is kind of related to the importance of testing audio and video ahead of time, but have an idea how your mic works. Does it pick up a lot of “other” audio? If you have a boom type mic sitting right in front of your mouth, maybe not – but then it’s going to pick up all sorts of other noises from you. If you you have a lot of background noise, maybe a different mic (or muting) is a good idea…

Font Size and Slides
Sometimes the video quality of shared screens and slides can be iffy at best – so if you are presenting your best bet is to make your slide text big and clear. This is a challenge for developer-oriented talks where a lot of code needs to be on the screen!

Maximize Your Profile
If possible, login and set up your profile as much as possible before the event. You want to make it as easy as possible to let people track you down online later – and you want to stand out in long lists of people attending, so add a profile photo if possible!

Close Those Apps
This is also important for presenting in-person, but even more for remote. Close (or mute) any apps on your computer that may interfere – especially if you’re presenting! No need to have that embarrassing slack message pop up during your presentation. Likewise, do you need all the slack “ping” sounds playing during your presentation? Or even worse, interrupting others’ presentations? And turn off your phone notifications – even just vibrate will cause noises to come through your mic in many cases.

Learn the Platform
Each of the platforms I’ve experienced has its quirks, like any other system. Learn where all the relevant controls are. Can you mute other people? How do you know if you’re muted? Is there a chat? How do you control that? Can you send private messages to other attendees? How do you see how many people are in a “room”… you get the picture.

Be Aware of Your Background
If you’re going to be on camera, check out ahead of time to make sure there’s nothing too embarrassing or distracting in your background. Check your lighting, will you look like someone out of a witness protection program because of poor lighting?

Flashback Friday: MMDE 2018

For today’s flashback, we’re going back a couple years to the first time I got to attend Meet Magento Germany in Leipzig, 2018 – right around this time of year. This is one of the old Meet Magento events, and was a great event. I’d never been to Leipzig before, so taking the extra day or so we had to explore was definitely a benefit. It’s a little bit off the beaten path of the regular tourist tourist destinations in Germany – but definitely worth the trip.

The conference took place at Kongresshalle am Zoo Leipzig which is a great old historic building near the zoo and not far from the city center. The afterparty at Moritzbastei took place in a really cool old bit of fortification (cool… literally) with arched ceilings and courtyards. One of the best parts is there could be music and dancing in one section, and just down the curving hall a quiet place for drinks and conversation. Plus lots of great food and drinks!

We went again in 2019 – but sadly there will not be a 2020 edition, thanks to the Pandemic. The 2019 trip memorably involved a long, late night taxi trip to go to … KFC.

Happy Memorial Day?

It’s the time of year where we’re supposed to remember all the sacrifices made by our armed forces. But we’re also in the midst of a great debate about relaxing efforts to contain the pandemic.

I certainly do not want to downplay the losses and suffering of our veterans – but I’m also infuriated by efforts to downplay this pandemic.

So let’s look at some stats. Here is where I’m getting my numbers for the pandemic – 98,034 as of this writing. And I’ll be referring to the military death totals listed here.

So, all provisos about the pandemic numbers aside (I think they’re probably under-reported) – more Americans have died from COVID-19 than Vietnam (58,029). Think about that. Vietnam took place over a decade or so (depending on how you wan to track it). Think about the chaos and disruption that caused, and who knows what costs to our country for the veterans and their families. We’re about three months into the pandemic at this point… And I’ll bet you an N95 mask that a good number of our Vietnam vets have been taken by the coronavirus.

And, we’re approaching the number killed in the first World War. God forbid we surpass WWII or (horrors) the Civil War.

Here’s another interesting thing to think about. According to this site, almost 7,000 Americans have died in the war on terror, plus about 3000 who died in 9/11 – for a total of 10,000. That’s about 1/10th of the number who have died from COVID-19. Now, consider how much has been spent on our war on terror. Something on the order of 5 trillion dollars (source). I am not saying that we should have not spent that money, or fought those wars. That’s irrelevant to this. My point is, we really need to think about our priorities. I didn’t bother trying to track down what the US spends on research/prevention for pandemics, I’m sure it’ll be depressing.

So, the next time you hear someone try to downplay this pandemic – ask yourself, when’s the last time you lived through a couple Vietnam war’s worth of dead Americans? In three months.

Please stay at home! I don’t care what your state decides to do. Stay home. I think it’s only going to get worse.

May you live in interesting times.

Flashback Friday: Meet Magento Asia 2018

Back in November 2018 I had the luck to attend Meet Magento Asia, in Bangkok Thailand. It was my first time to Thailand and it was a blast! Really love Thailand, and this was a great first exposure to it. We attended again at the end of 2019.

Benefits of Remote Work

As I’ve written about previously, I have a little more experience working remotely than many others who have been thrown into remote work due to the pandemic. For me, working remote is the norm so having to work from home hasn’t been a big jarring challenge, but it’s totally understandable that this “new normal” is causing problems for workers and employers alike.

I do think, however, that this is a huge opportunity for organizations – this is their chance to realize the benefits of remote work – and to discover that the changes that have to be made for an organization to handle remote work efficiently are extremely beneficial even if things go back to “normal” at some point.

Flexibility

The first key benefit that organizations will realize with a remote-capable workforce and ability – it gives far great flexibility. If your employees can work remotely as efficiently as when in office, it opens up options. Running out of office space, or need to close the office for renovations, etc – it’s no big deal because your employees can all work capably from home. This is not flexibility that you’d have otherwise.

Resilience

Closely tied to flexibility – resilience means a remote-capable organization can roll with the punches way better than a traditional office-bound organization. We’re all seeing this right now because of the pandemic – but it could happen in much more mundane scenarios – fires, floods, power outages, etc. I once had to leave an office in a high-rise because of a fire alarm. By the time everyone filed down 18 floors and waited until 20+ floors of the building was clear – the day was lost. This would not happen with a remote-capable organization – either some of those employees would’ve been at home and unaffected, or we could’ve all just headed home (or to a coffee shop) and finished our work day productively.

Another way to look at this is that being remote-capable allows an organization to keep employees who may otherwise leave because they need to move to a new geographic location. This is an extremely common reason why employees leave – and everyone knows how expensive it is to train up a new employee. Keep them, let them work remote!

Expanding the Talent Pool

This should be a fairly obvious benefit – it’s simple supply and demand. By ignoring physical location, you are vastly expanding the pool of potential talent available to you. Even better, because of cost of living differences, your offer may be way more attractive to a potential remote employee than a local employee. The higher your area’s cost of living is in comparison, the more important this is. Silicon valley companies that don’t regularize remote work are at a huge disadvantage!

Enhancing Organization

This is probably worth a post all of itself, but the very act of making your organization ready for remote work will drastically enhance your organization, especially when it comes to project management. Remote workers need to be able to see everything necessary to work on a project – status, what is done already, requirements, deadlines, etc. The very act of pulling all this information together into one place, accessible to everyone, is also a huge boon to non-remote workers. It’s a win-win!

Cost Savings

Finally, what is probably the most obvious advantage of having remote workers – cost savings. By not having to pay for as much (or any) office space, a huge expense is removed from the balance sheet. Add in all the associated costs – insurance, power, internet access, cleaning, catering, etc – it makes a difference. Some of this should certainly be passed on to the employees in terms of salary increases or something else, but the fact remains that a remote organization is much leaner than a traditional brick and mortar office-based shop.

But… How Will I Know They’re Working?

I think the real reason behind much of the reluctance of organizations to embrace a remote office is the perceived lack of control. After all, how do you know your employees aren’t just playing video games and drinking their days away if you let them work from home and (gasp) set their own hours?

The real problem here is not a remote office issue – this is a management issue. Employees obviously need to be responsible and do their work. But this is not a factory floor – you can’t just measure how much time they spend staring at their screens and take that as measure of how “good” an employee is.

The issue is figure out the real KPIs (key performance indicators) that are appropriate for each role in an organization. This is not easy and never has been! But getting this right gives an organization an enormous advantage, both in terms of employee productivity, happiness and efficiency.

What you should not do is set up some sort of ridiculous surveillance system to make sure your employee is sitting in their seat and doing whatever you think they should bed doing. Employees should be rewarded for doing their jobs well, and you should be doing everything in your power to empower them to figure out how to do their jobs productively and efficiently.

If an employee slacks off and doesn’t get important work done, their KPIs should reflect that, and there should be consequences. And if they can get their job done right, their KPIs should also reflect that. Whether they’re sitting in their seat 8-5 is completely irrelevant and counterproductive. The point is to have empowered employees you can trust.

New Windows Terminal

Just updated windows so I could install the new windows terminal – and I’m quite impressed. It’s noticeably faster than what I was using before, and seems like it’s quite configurable. I spend so much time on the command line that I sometimes forget I’m even using windows.

You can install it via the windows store. I had to update windows to meet the requirements.

Next up, install WSL2 which I’ve heard many good things about. I might wait a bit on that one, because it seems much more likely to throw a wrench into my current dev setup and make me burn a lot of time to fix… but the benefits sound great.

Flashback: Meet Magento Netherlands 2016

Continuing with my “flashback” series – at this time last year we were at what may end up being the last Imagine event. Sad though, so instead I’ll put up some pictures from MMNL 2016.

It was only four years ago now, but it seems like so much longer! I was accepted for my first Magento speaking opportunity at Meet Magento Netherlands in Utrecht. I had an amazing time and met so many people that I’ve gone on to spend many a late night with at other Magento events over the last four years.

You can see the official MMNL photos here (day one and day two) – much better than my phone pics from back then.

It really was a great event, and I also had a great time the other years we attended MMNL – hoping for another chance soon!

Synology 2 NAS

Recently it was decided that the time had come to upgrade our storage setup here at home. We’ve been relying on some external hard drives for backup that were getting pretty long in the tooth, and needed to either get new ones or figure out another option.

I’ve also given up on streaming music services. I used grooveshark back in the day, and like it – but then it went under. Tried Spotify and Google Music – and they’re ok, but didn’t have a lot of my old music I like.

I came up in the Napster days and have a decent sized MP3 collection, still sitting around on the old drives in my old desktop machine. Putting those on the laptop wasn’t a great option, too many files! Not to mention my completely legal copies of movies and TV shows built up over the years.

So, after a lot of research and debate, I picked up a Synology 2 NAS from Amazon, with a couple 4TB drives, and a USB-C drive enclosure. I needed some way to get stuff of all those old hard drives sitting around the house!

We’ve had this thing for almost two months now and it’s working like a champ. I’ve condensed most of my old files onto it, and it’s serving as the backup location for two laptops. Backing up over wifi means the laptops actually get backed up as often as they should! It also works well as a Plex server.

I’ve been careful to not turn on the “cloud” functionality on it – I’m perfectly happy if no one (including me) can get at the files on the NAS from outside the home network!

Now I’m starting to see the limits of our ISP-provided Wifi router as the network gets more and more use… might be time for more research… or even go old school and run some ethernet!