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!

Flashback: Imagine 2016

Since we didn’t get a chance to attend Imagine this year thanks to the COVID-19 pandemic, I thought it might be fun to post a few pics from the 2016 edition of Imagine, at the Wynn in Las Vegas. I was looking forward to seeing what changes Adobe would be making for the first year Imagine was rolled into Adobe Summit, and see what the new venue was like – guess we’ll all have to wait for 2021 to see that!

This was either my 2nd or 3rd year attending Imagine, and even though only 4 years ago, the camera on the phone I had back then is still noticeably worse than what I have now! Back then I still worked for Nexcess and represented them in the booth and in an unexpected speaking session. I’ll save that story for another day…

I’ve attended a lot of Magento events over the years, and I’m planning on posting more of the flashbacks in the coming days.

Remote Work – My Take

Ironically, I’d been planning on writing some travel-related posts here – never quite got around to it and now as pretty much everyone must suddenly work remotely thanks to the pandemic, I decided instead to write up some tips for those companies and individuals working remote for the first time.

I have worked remote for the majority of my time since 2002 or so. Most of that time has been either working at home, or wherever I happened to be at the time. My experience includes working for myself, or for an organization that was mostly not made up of remote employees. Of those organizations, one handled it pretty well… the other not so much.

You do You
So, nearly every remote work article I’ve seen talks about building a separation between your “work mode” and “live mode.” That’s great, but if it’s not working for you – find out what does. Everyone’s needs and job requirements are different. What makes sense for one may not for others.

I’ve been working remote for most of two decades. I’ve never had an office where only job stuff happens. I’ve always tended to migrate around the house and yard as I work, I find that a change of location and scenery helps me focus. That’s what works for me. Experiment, and see what works for you.

Learn to work with basics
Because I travel so much, I’ve learned to work with just the laptop. I’ve tried using giant monitors, or multiple monitors and honestly it doesn’t work – for me. One advantage I have then is that I can work pretty much anywhere I can sit down relatively comfortably – couch, hotel bed, desk, etc. All I really need is internet access.

Getting online is a key requirement. Our home wifi is decent but can go down. Hotel wifi is notoriously bad. It pays to know how to use the mobile hotspot mode on your phone when you need it – hopefully your phone and provider makes that possible!

Set up your app and mute yourself!
Do yourself a favor and learn how to set up whatever app(s) you use so that it starts up with your camera off and your mic muted. You can always turn them on manually once your meeting starts. This can prevent embarrassing mistakes!

And please, please mute yourself when you’re not talking. Zoom likes to change view to whoever it thinks is speaking – so if you have a dog barking or other noises in your background, it can be quite annoying to everyone else.

Apps like Zoom are very bandwidth intensive – you may get some mileage out of turning off your video if your connection is struggling. I know the pundits like to tout the benefits of being able to see the other people in your meeting, but in my experience most meetings revolve around a screenshare and having all the other people transmitting video does seem to strain a poor connection unnecessarily. So, in my opinion, it may be better for organizations to ask their employees to not have their video on by default.

Trust your employees
This brings up another much discussed element of the our new remote work world -some companies and managers can’t seem to figure out how to handle workers who aren’t in the office.

If your organization can’t seem to figure out if an employee is contributing when their not sitting in an office… you have a larger problem than how to handle remote work! Figuring out the right way to measure this is not an easy task, especially for developers. This is not a new problem – and there’s tons of discussion out there about it – but a very important one for leaders to focus on and continually try to improve. This pandemic may be just the chance to figure this out and reap the other benefits that come with having remote workers!

Razer Stealth 13 – almost one year review

As always, I’m not updating my own site as often as I should. Something about cobblers and shoes? Anyways, it’s been a while since my last post about being back in the Windows world. Hard to believe it’s almost been a year – but seemed like as good a time as any for a new post.

This little guy keep soldiering along with very few problems – none that I can attribute to the hardware at least. Well, except for an annoying issue that the internal mic doesn’t seem to work -but I’m pretty sure that’s due to Windows, not the hardware – and I typically use a headset anyways on the few occasions I need it.

I have noticed the black paint coming off along some of the fairly sharp edges on the case. That’s about it in terms of it showing its age.

Windows on the other hand is… Windows. I can live with it, at least I haven’t been annoyed enough yet to try installing Linux. The WSL set up I’ve written about before has worked out well enough for the projects I work on. I haven’t gotten around to trying Docker out – after my previous experiences with Docker (on a mac) I’ve not been to inspired…

Having access to games has been nice in this new Coronaworld. I still manage to get online to shoot zombies in Left 4 Dead a few times a week, and I rewarded myself with a new game about a month ago after launching a new site. Space Engineers is definitely my kind of game. My latest creation is a ridiculously ugly mobile base cruising around the earth-like planet spoiling the landscape. Planning to try my first space launch soon!

Hope everyone is staying at home and keeping healthy.

Razer Stealth 13 – 1 month review

As I’ve mentioned in previous posts, I took the jump off of MacOS about a month ago now. I’d been researching different options ever since the Macbook Pros came out with the ridiculous touch bar, horrible keyboards, high price and pretty mediocre specs (for that price).

In the end I pulled the trigger on a Razer Stealth 13 Ultrabook that I picked up from Amazon on Prime Day for a pretty good deal. Spec wise, it compared very favorably against both my old laptop (5 year old Macbook Pro) and new Macbooks. I also strongly considered a thinkpad among other similar laptops.

I wanted something with pretty good specs as I often end up running “heavier” – i.e. running docker, virtualbox, etc. Good keyboad, reliability, power usage and weight were all important as well. I travel a lot, so it had to be a laptop I could use in many different scenarios, working on a bed/couch/tiny desk, etc – but usually without external monitor/mouse/keyboar.

All in all, I’m quit happy with this laptop after about a month of using it – most of the time on the road. Battery life is at least double my old macbook – depending on what I’m doing, I can get 8 hours out of it pretty easily. The keyboard and screen are great. My only real gripe is the touchpad “click” is too sensitive (even with settings turned all the way down) – I’m guessing I’ll get used to it.

Windows 10 is… well, Windows. I’d still prefer MacOS. But the additional of WSL means that I spend nearly all of my work day using linux. This means I haven’t (yet) decided to try booting and running entirely from Linux. Might still happen, but for now this setup is working pretty well.

I haven’t really tried much gaming so I can’t comment on performance there. I ran a couple very old FPS games that were in my Steam account which of course it could run fine with maxed out settings. I played a little bit of Total War Empire – which of course is also an older game at this point, and ran well.

So… so far so good! Of course it’s early days still and we’ll see what problems arise 🙂

WSL & LAMP part two

As mentioned before, I’m restarting my windows-based LAMP developer experience after a long sojourn in MacOS. This post is meant to look at where I am a few weeks in, and tips/tricks/problems I’ve encountered. I’ll probably post a review of the actual laptop I went for later.

All in all, the experience has been quite good. I have a full LAMP stack set up and running well, with very few hiccups. Right now I have it set up to run three different sites, two custom PHP and one that runs mostly off WordPress. All I have to do to change which site I want to just off of http://localhost is edit the relevant Apache configs and restart Apache.

I’m a vim user so I haven’t needed to install any big clunky IDEs. I do have sublime which I mostly use as a giant clipboard/notes app. Everything else lives in Trello or Google Sheets, or Slack.

I did have some odd issues initially running my linux terminal – until I got used to it. I just had to get used to opening new terminal windows from within the linux app. The only other niggling issues are that you can’t seem to split the screen (something I do very rarely anyways) – and sometimes when pasting a large amount of text within vim, there’s a slight delay. That’s all!

So, all in all I’ve made the transition quite seamlessly – maybe a day or so of lost productivity while getting everything set up and moved over from my old mac.

Running Linux in Windows

I wrote this post about two weeks ago and apparently forgot to publish it… so publishing it now as a prefix to another post that will explain my new windows-based linux setup (what a weird sentence that is!)

It’s been said before, but what a weird time we live in!

As mentioned previously, I finally had to ditch MacOS as my main work OS, thanks to new machines just not matching the price and functionality (and reliability) point for me. And haven’t been a fan of the changes they’ve been making to MacOS over the years anyways…

So, I’m on day three of my (resumed) Windows journey. But, I’m a web developer primarily in the LAMP stack, and I know that I can’t just set up a dev environment within windows for that, when everything I create is hosted on Linux…

My original plan was to just set up a virtual machine in Windows and just work within that. But, thankfully I remembered that there’s now WSL (Windows Subsystem for Linux) that could be an option… and so far, so good!

WSL lets you run linux within Windows, without the need for a virtual machine, or Docker or whatever. Basically, one it’s set up – you can have a bash prompt – and once you have that, you can install all sorts of things you need to do your job efficiently.

I’m not going to go through the whole process because there’s plenty of good guides out there – I’ve linked to a few at the bottom of this post. Instead, I’ll focus on a couple of the gotchas that held me up as I was getting everything set up.

File Permissions
Once I got the LAMP stack up and running, I grabbed all my files off my old macbook and set them up on the new laptop. But, the first I ran git status it told me every file had changed. Great, that’s not a good sign! My first thought was the old issue with newlines – but that’s not an issue using WSL since you’re inside linux anyways… Turns out there’s some file permission weirdness, and all of my files now had 777– and git thought I wanted to change all those files’ permissions – probably not a good plan! Turns out setting a simple git config option to ignore permission changes took care of that problem:
git config core.filemode false

Getting a Decent Terminal
You can use the built-in windows terminal… and it certainly is leaps and bounds better than last time I used Windows (*cough* Vista) so there’s that. I should probably explore it more.

I tried a few other terminals recommended in one of the guides, w/mediocre results. Some felt slow. And many of them had problems recognizing the arrow keys in vim – I can get by without them but I tend to alternate between the arrow keys and other options when moving around in vim without much though, so having the arrow keys suddenly not working was jarring.

For awhile I was using the Hyper terminal because it looked good and handled arrow keys just fine – but it felt a little slow and had the occasional weird glitch. I guess it’s built with javascript/css, etc which is kind of cool. But, contrary to popular belief we do not have to use javascript (of all things) for everything under the sun…

So, I followed this guide to set up the linux xfce terminal, running via X. I was a little leery at first, flashbacks to my early linux days with X (think pre 2000) but of course things have gotten much easier since then! I’ve gotten it all set up and about to embark on a work session with the new setup – we’ll see!

Resources

https://docs.microsoft.com/en-us/windows/wsl/install-win10
https://cepa.io/2018/02/10/linuxizing-your-windows-pc-part1/
https://www.codza.com/blog/lamp-in-wsl-win10

The End of an Era?

Yesterday I pulled the trigger on a new laptop. For the first time in about a decade, I’ll be using Windows again.

I’ve used Macs for work for most of my career – even going back to the bad old pre-OSX days.

I’m writing this on an early 2013 macbook pro. It’s still decent, but starting to show its age. Battery life is crap. It seems to run hot all the time. And I’m starting to run into cases where I need to upgrade Mac OS to update various software that I use. I’ve always gotten burned when I do Mac OS updates, so I’m always resistant to that. Very little benefit for much risk in my opinion.So, I need a new laptop. But I quickly ruled out another mac:

  • The new macbooks are crazy overpriced, as usual for Apple. I don’t think the quality is there any more.
  • I cannot stand the new keyboards, even if Apple can or has fixed the huge reliability issues.
  • The touchbar thing is simple stupid. Lose a perfectly good and useful set of keys for something that breaks, uses more power and is just pointless.

So, back to windows. And quite likely Linux, either as dual-boot, or something. We’ll see! I picked a nice ultrabook with a similar form factor to the latest macbook pros. My plan is to experiment with the new linux stuff in windows – and if that’s not up to par I’ll just set up a VM running linux for work – or dual boot.

Wonder if there will ever be another mac in my future… doesn’t look promising right now.

git and the single dev

I’ve returned from (arguably) the last Magento Imagine and have almost recovered from my personal branch of the flu that seems to have been burning through the attendees. While hacking and spluttering and read Reilly Chase’s post on using git as a solo developer and thought it was a great idea for an article.

I think I started using git about 10 years ago (geez) and at the time was acting as solo dev on most of the projects I worked on. It seemed slightly useful, but honestly seemed like a lot of overhead for not much benefit. I already had my own system of local backups that I was quite comfortable with.

But, git was “how real developers worked” so I started to use it. I set up a remote server to use as my remote repo (didn’t use github at first) and had relatively few problems using it locally – but I was paranoid about running it on the live server. It seemed like one flubbed command could really mess up the site!

So, at the time I installed the repo outside of the web root on the live server, and manually copied changed files from there to where they needed to go. Obviously not the most efficient way to do things!

Eventually I moved on to managing a pretty large open source project on github, and quickly began to learn the value of git in the multi-developer context. And once I became a developer working with about a dozen other devs on projects that used an entirely git-based workflow, it was clear how critical a tool git is for multi-developer projects.

But, what about the single dev?

Beyond the obvious advantages of using git (branching/merging/etc) there’s a few others I’d like to highlight

  • Detecting changes on the live server – if site is running from the repo on the server, a single git status command will show you changed files or new untracked files. Very handy in cases where an attacker has gained access to the server!
  • Remembering what you did last – there may be big gaps of time between when I work on a client’s site – while waiting on feedback/payment/etc. A quick git log shows the recent commits. Or look at github/bitbucket to see what you were up to. This is also a great way to reconstruct work done on a site for billing purposes, if you forgot to log your hours :\

My strategy

I generally keep my workflow pretty simple. Almost all work is done locally in MAMP (I mostly work on LAMP stack sites), tracked within a single master branch. I use Bitbucket for my remote. I do occasionally create a branch if I’m messing around on something I think I may need to keep around longer term – best example was working on converting an older site to use PHP7.2 – while ongoing work was going on in PHP 5.6.

On some more complex projects, I have a staging server set up to allow the client to see changes before they go live. This is usually a cheap Lightsail instance. I set up the repo containing the site files there, and just do a quick git fetch when I want to see what updates will be applied, and git pull to bring them down.

The live server is set up the same way. I always do a fetch first to make sure I know exactly what’s going to be pulled on to the live site. No surprises!

I realize I could use hooks or something to have the live server automatically update when I push commits to master, but with my setup that doesn’t make much sense – I prefer to do this manually. And as I mentioned, running git status on the live server now and then gives me one more level of security check… I do have one project moving towards an architecture of multiple front end nodes, in which case I will have to change this model. In that case, I don’t want to have to login to each node to pull down the latest commits. A bridge to cross when I get to it!

My Completely Unnecessary Magento Imagine Guide

That’s right, I’ve decided to post my own guide to Magento Imagine. By my calculations, I will have been to half of the Imagine conferences this year. So, I suppose, I’m half of an expert! So half of what I say below is probably garbage 😃 I’ve also been to a few other Magento events over the years, all over the world.

The Tips

1st night party, 2018

I covered my packing tips below, these are intended to be helpful once you get there

  • Maps – the Wynn is huge, make sure you have a map – paper or digital – handy!
  • The Dry Run – If it’s your first time, or just in case – figure out the route and how long it takes you to get from your lodging to the conference area. No surprises when you’re in a rush!
  • WhatsApp Group – be sure to join the WhatsApp group for Imagine (contact me for details). It’s very handy for finding out the various other events that are happening before, during and after the conference. Twitter is also very popular – watch the Imagine hashtag! If you’re trying to find something to go to – just say something.
  • Side Events – there are tons of events going on beyond the main conference events. Keep an eye on twitter and Whatsapp, and ask around…
  • Food – while the drinks are free-flowing – the food can disappear quickly at the events! Obviously, this can cause problems… Be sure to chow down when you find food, especially at the parties each night. And drink lots of water. Don’t be like me.
  • Introvert? Don’t worry, the Magento community is incredibly welcoming. Don’t be starstruck, most of the Magento folks are very personable, as well as the Masters, sponsors, etc. Check below for list of conversation starts in case you’re like me and tend to blank out… and of course feel free to say hi if you see me staggering around the conference.
  • The Booze – there’s lots of it. Pace yourself and know your limits! Yes, great chance to try all sorts of things – enjoy but be careful!
  • Parasol Up – This is almost the unofficial gathering spot of Imagine, with the Wynn Tower Bar being a close second – and also B Bar. These are all quite close or inside of the main casino floor at the Wynn. If you’re bored and looking for Magento peeps, check it out!
  • Finding Food – As I mentioned, the food at the conference can disappear quickly. Lunch and dinners and generally great so no need to search for alternatives. Moreover, even costly restaurants can be pretty mediocre unless you have specific recommendations. Grand Lux Cafe across the street at the Venetian has decent food at decent prices – especially for breakfast. Its also a short walk away. There’s also a french restaurant in the Venetian called Bouchon that’s pretty good. La Cave and Jardin in Wynn/Encore are ok… The burger place across the street from the Wynn is also pretty popular – you’ll probably find some Magento folks there… You can get by with the free breakfast, lunch and dinner options on each conference day, so don’t feel like you need to spend a bunch for the crappy casino buffet, unless that’s your thing.
  • Water – Vegas is dry – make sure to bring chapstick, or grab some in the vendor hall. And grab those water bottles whenever you see them.
  • Your Badge is Your Life – don’t lose it, and don’t forget it! They’re serious when they say they won’t replace it… And you’ll need to be sure to have appropriate ID on you (driver’s license, or passport) for a lot of the events.
  • Badge colors/designs – the badges generally have different colors/borders to indicate “categories” of attendee – i.e. merchant, magento employee, etc. This can be helpful if you’re trying to find certain sorts of people.
  • Enter all the things – There are tons of giveaways, make sure to drop your business card in all of them! It’s worth the spam you may end up getting.
  • The Strip – The Wynn is at one end of the strip, with the Venetian next to it. If you want to go see the strip, do it at night – it’s both cooler (literally) and more scenic. Walking the strip always takes longer than you expect, things seem closer than they are because they’re so huge – and you’re always getting diverted into casinos, etc. You can’t just walk straight up and down the strip!
  • Off Strip – Go check out “old Vegas” i.e. Fremont Street. It’s worth the trip. You can get there cheaply by bus. No doubt groups from the conference will be heading there as well.
    Ellis Island casino and restaurant are closer to the Wynn for a taste of “old Vegas”. They brew their own beer and have decent deals on food. It’s a couple (long) blocks off the strip. It’s very smoky though, but not as smoky as Silver Sands a little further away. Go there if you are on the prowl for a cheap simple buffet.
  • Got a question? Ping me on twitter – @adwatson. If I can, I’ll help. Or introduce you to someone who knows more than me (plenty of options there!)
Straight pimpin’ with the always fabulous Fabian – and many other wonderful people!

Packing List

Here’s a few ideas of what to pack. Save lots of room in your luggage though. There will be lots of swag! Or, check out my cheap tip below if you have too much swag for your luggage space…

  • Sunscreen and Shades – you’ll certainly spend most of your time in the Wynn/Encore. But, the lunches are held outside, and the tables with shade fill up quickly! Bring sunscreen and shades, especially if like you know who, you don’t have the hair up top you once had.
  • Backpack – we’ll almost certainly get a free bag when we get our badges, and they’re usually pretty decent.
  • Phone chargers – have a way to recharge your phone, you’ll be draining that battery quick. Lots of vendors will have free chargers as swag in the vendor hall – some will even be pre-charged! Bring the relevant cables (USB -> whatever you need).
  • Less Shirts than you need – if you’re tight on space (and not picky on style), you can get by packing fewer shirts than you need – there will be tons of tee-shirts available as swag.
  • Business Cards – You will have many, many chances to hand these out!
  • Walking Shoes – everyone says this, and for good reason. Even if you’re staying at the Wynn, expect a 15-20 minute hike just to get to the conference area. Add more for when you get lost 🙂 And then you’ll spend a good chunk of the day wandering around the conference area… And then you’ll get lost again heading to your room…
  • Coffee? Despite the 5 stars (and the 5 star cost) the Wynn/Encore doesn’t have coffee makers in the rooms. So you’ll have to go down to the main floor to buy over-priced coffee every morning. Or get by until you can get to the free coffee at the conference.
  • Cheap “Luggage” – Here’s my cheap packing tip. If you end up with more swag than you have space for – there will be no shortage of cardboard boxes available in the vendor hall. Be sure to pack some packing tape and tape the heck out that thing. Depending on your travel plans – it may only need to survive one trip! We’ve successfully done this a few times.

Conversation Ideas

More of us are bad at this then you probably think. Maybe these will help? I tried to keep the list short to make them easier to remember.

  • Is this your first time at Imagine? What do you think?
  • What other events have you been to?
  • What do you do? What does your company do?
  • Where’s the best swag?
  • What time did you get in? When do you leave?
  • What else are you planning to do in Vegas?
Most important – have fun!