The Frugal Bar

I like cocktails. I like trying new ones, experimenting with different ingredients, etc. I’m sipping one of my favorite concoctions right now as I type this.

But, as with so many things I think that the recent “cocktail craze” has made it seem like you can’t start making cocktails at home with a second mortgage worth of fancy booze just to get started. That’s ridiculous!

What I Like

I think I should be clear here about what my preferences are when it comes to cocktails, because it’s reflected in the ingredient discussions below. I like heavy, boozy cocktails like manhattans, martinis, as well as fancier things like the vieux carre, the last word, etc. A good margarita is wonderful. Even something like a cosmopolitan can be great. The problem is that so many bars/restaurants like to make super-sweet cocktails, and things like margaritas or cosmos can really fall into that category. If that’s your thing, no worries!

The Basics

Here’s the thing – yes, there’s a huge difference between your bargain level whiskey and a $90-100 bottle of bourbon or Scotch. Usually! But, if you’re going to be mixing it with other ingredients – especially if you’re not sure what you’re doing – is it worth the extra cost? A cheaper option may get you 80-90% of the way there, and makes it way easier to build up an idea of what you like, as well as giving you the freedom to make mistakes. If you’re just starting out, start cheap and experiment away.

Mmm… stocking up during the pandemic – in our defense it wasn’t clear how long the stores would be open…. yeah, that’s the excuse.

So, for me a bar has to have these basic ingredients: Gin, Vodka, Whiskey, Tequila… and maybe Rum. Those are your bases that everything is built on top of. Around here I can 1.75 liter bottles of each of those from $10-20. Are they great? Not really, but it’s not like you’re going to be sipping them at room temperature from a tumbler, probably. You’ll be shaking them up with ice and a bunch of other ingredients. As with most things, paying more does not necessarily mean a better experience.

As you experiment, also try different cheap base alcohols. In my opinion the bottles at the bottom of the rack are competing in a very tight category, there’s tons of companies selling in the cheap category w/out very much to distinguish them since their customer is generally price sensitive. You may find something surprising! We like the McCormick gin, Crystal Palace vodka and Early Times bourbon for example.

Now you need some extras. At least get some of the basics: angostura bitters, red and white vermouth, cherries, etc. If you see a cheap mixer like a margarita mix or something, why not try it? Get a bag of lemons or limes. Olives! Try to find a cheap cocktail shaker. Get an ice cube tray if you don’t have a source for ice cubes.

I’m very skeptical about glassware. Yeah, a martini glass can look really cool. It’s also very easy to tip over and break… I’m not sure that it makes much difference at all to the actual taste. I think any old glass is a good starting point if you’re trying to keep the budget down.

Here’s one of my secret weapons. We call it “green stuff” – it’s actually DeKuyper sour apple pucker. By itself, it’s pretty sweet but does have a nice sour apple flavor. But it makes a great ingredient to play with. Want to have a different take on a manhattan? Add a splash of green stuff… The drink I mentioned at the top is gin on the rocks with a bit of green stuff.

Experimentation

With those ingredients you have a nice base for a variety of experimenting. The manhattan is a good starting point – whiskey, sweet vermouth and bitters. Cherries and cherry juice if you want. Google and you’ll find a variety of ratios – I tend to around 4 parts whiskey, 1 part vermouth and 2 dashes of bitters. So that’s the “base” – now play around. Add some “green stuff” (maybe 1/2 a part). Or try an apple-flavored whiskey. Try white vermouth. Try one of the million different varieties of bitters. Try a cheap scotch instead of bourbon. Some of these might be terrible, but I think if you don’t stray too far from the original recipe (and you like manhattans to begin with) you can’t go too far wrong.

You can do the same with martinis – the basic martini recipe is vodka or gin, mixed with white (dry) vermouth. Basic indeed! Add olive, and if you want it “dirty” add a little olive “juice”. But try some other additions! Add Peychaud’s bitters. Or a bit of juice (cranberry) or a little of the “green stuff”. Try it with sweet vermouth. Try various flavored vodkas, there’s only about a million.

Margaritas – my recipe is 1 part gold tequila, 1 part silver tequila. Juice from one lemon/lime. 1/2 or 1/3 part Triple Sec. That’s a pretty potent margarita, of course add water or triple sec to your taste. But again, why not add other things? If you think about it, it’s tequila and lemon or lime juice and a something sweet. The other night I tried one that substituted that 1/3 part of triple sec with 1 part of orange juice. It was pretty good but not as good as a “normal” margarita – glad I tried it though! And also lower on the calories since triple sec is basically all sugar.

One more custom recipe – the “gin rummy” – this is one I came up with maybe 10 years ago. The basic ingredients are gin, “green stuff”, coconut rum and grenadine. The ratios have changed, and lately I’ve just dropped the grenadine altogether as unnecessary. Try 4 parts gin, 1 part green stuff, 1/2 part of coconut rum. Let me know what variation works for you!

Moving up the food chain

Once you decide to branch out into more expensive bottles, it gets really hard to decide what to spend money on. If you happen to go out to a bar, try cocktails that have ingredients you haven’t experienced before. You’ll be paying a premium anyways. Talk to the bartender, they may even give you a little taste of that weird herbal liquor that’s one of the ingredients.

There’s lots of these European herbal liquors that are great – Aperol, Campari, green Chartreuse, yellow Chartreuse are all wonderful to add to your bar. Luxardo is something I want to add. You can also add other types of liquor like brandies, cognacs, etc. Some of these you can actually buy in those little 1 ounce bottles at some liquor stores if you’re not sure you want to commit to the big bottle.

If you have local distilleries, check them out. In Michigan there are places that will do actual tastings, just like a wine tasting, with all sorts of interesting things. For example, up north there’s a place that does a popular horseradish vodka. Not my thing, can’t stand horseradish. But they used it to make a pretty good Bloody Mary and I don’t typically like those.

Make Your Own

Another benefit of getting the cheap stuff is you can try making your own infusions. For example, I grabbed some bitter little crab apples off a tree in the yard, cut them into bits and put them in an empty bottle with some cheap vodka. It turned out pretty good – but if it ended up gross, I’m not out more than a few bucks. Why not? Just make sure anything you’re using is actually edible for humans!

Prost!

Note the “green stuff” on the bar in front of me 🙂

Installing Shopware on WSL

As mentioned in a previous post, I recently upgraded to WSL2 on my laptop. WSL basically lets you run linux and windows at the same time – a fact which still somewhat blows my mind given the MS attitude towards linux back when I first started using Linux…

Anyways, the goal was get to a point where I could install Shopware and start playing around with it. Shopware’s docs point you towards using Docker to set up Shopware for development work, but I’ve not had great experiences with Docker in the past, didn’t think that I had the disk space to spare for that – and looking at Shopware’s “installation from scratch” it didn’t look too bad.

The first step was to make sure my linux set up included all the requirements. I’d chosen to install Ubuntu 20.04 under WSL2, so the main things I needed to was make sure I had the right versions of MySQL and PHP installed. PHP needed to be updated to 7.4, as Ubuntu had come with 7.2. A couple ‘apt’ commands and that’s taken care of, and then I had to tell Apache to use PHP 7.4 rather than 7.2 – and also had to update my Apache config as indicated in the documentation.

I also had to install Node and NPM, again just simple apt commands and then it was time to check out the Shopware code from github and try running the setup script.

This is where I ran into minor problems. I got the cryptic “could not find driver” error and it took a little googling to realize that my new version of PHP was missing a few modules, including the driver to connect to MySQL. I found that running ‘sudo apt install lamp-server^’ took care of a lot of these and some googling tracked down the other packages needed.

Time for WSL2…

After more than two years running WSL (Windows System Linux) on my laptop I’ve finally upgraded to the new version. Honestly, the old version was working just fine for me. My understanding is the new version’s primary benefit lies in performance increases and I think better Docker support.

My experience with Docker has been… awkward, to say the least. I’m in no hurry to go that route if I can possible avoid it, so that’s not why I’ve upgraded. And the sites I work on are quite efficient, so performance on my dev laptop is not a big issue.

I decided to play around with Shopware a bit and ran into problems trying to get it working under WSL1. Those problems may have nothing to do with WSL1 but it seemed possible, and I kind of thought that there’d be performance issues anyways, so here we go.

I’d been leery of this update because my current dev setup relies on it, and I didn’t want to have to go down some rabbit hole to get back to square one if things went wrong. Well, it went quite smoothly! I followed the instructions here and had only one pretty minor hickup.

It went like a charm until I decided that I’d like to mount my project directory into the new Ubuntu “server” I’d set up. Turns out you don’t get the “mount” option unless you’re part of the windows “insiders” program or somesuch. Oh well, the only reason I wanted to use WSL2 was to install Shopware, which doesn’t require mounting my old projects directory so no worries!

Also, you can quite easily switch between WSL1 and WSL2 – so I can just “switch on” whichever one I need for the work that needs doing. Cool!

Now to install Shopware, which is a whole other project.

Bloatware

OK, I get it. Software is hard. I’m a developer, I’ve seen it and lived it.

But my god, something is screwed here.

Case in point. I’m really starting to think that Windows Vista, that poster child for screwups, was more reliable and performant than Windows 10. Really? I used Vista for years, both at home and at work. It had its moments, for sure. Windows 10 should beat the pants off of Vista. Microsoft has money to spare, and something like a dozen years more of experience in OS and software development.

The result? Windows explorer needs to be restarted an average of once per day, because things like the task bar don’t load. Windows can’t remember windows arrangement between the laptop and external monitor. Occasional random freezes that require a restart. Whenever I wake up the laptop, it’s pretty much a game of russian roulette to see which apps are still running, or which have randomly stopped running. This is where we are after three decades of development, with an almost unlimited budget for developers and expertise? This is on a pretty powerful machine, and I’m only complaining about Microsoft software.

And I haven’t even started on Skype. Skype was a mainstay app for me for a long, long time – mainly for it’s chat functionality. This isn’t cutting edge tech – chat! Then Microsoft bought it. Recently I started having bizarre problems with Skype. Sometimes it wouldn’t start up. Sometimes it’d just show a white screen. Sometimes it wouldn’t show what the person had sent (despite a good internet connection). Really? Is this rocket science? Turns out I had to uninstall the version of Skype that apparently came with Windows 10, and install a different version – not what is in the Windows app center (or whatever it’s called). So, apparently there’s two different versions of Skype floating around for Windows 10, and the one on the Windows app center is not the more stable one. Brilliant!

And in case my esteemed reader thinks I’m just beating on Microsoft, I’m not. I’m actually a bit of a (disappointed) fan. WSL is great, and the way forward in my book. Let’s look at another enormous, hugely profitable company – Adobe. They were already in my bad books because new versions of photoshop (the only app I really used of theirs) mysteriously wouldn’t work with older versions of MacOS (yes, Apple is in that book also). But now I’m using Windows and trying to use their Acrobat “software.”

What a shitshow! PDFS have been around for a long, long, long time. Just displaying a PDF should be only slightly more complicated than a text file at this point. Adobe Acrobat is a laggy, bloaty app that takes a marvelously simple basic use-case scenario (view a PDF) and botches it completely. Sadly, I recall using some third-party app for PDFs in the Windows Vista days… and here I am again. How many decades later?

A company the size of Adobe or Microsoft certainly has the resources to fix these problems. In fact it seems almost a given that for every piece of software produced by one of these giant companies there’s a much leaner and meaner competitor written by a very small company or even a single programmer. Of course the trick is finding that software. It doesn’t help that those little companies tend to get bought (and killed) by the big companies…

Why is the software from these big companies so bad, despite all the resources at their disposal? I think there’s several factors at work:

  • They just don’t care. Adobe focus is on huge, bloated, expensive enterprise level software. Acrobat may be huge and bloated – but it’s not a profit center for them (I assume).
  • Features over fixes/performance. At some level the organization chooses to prioritize adding new features over fixing existing issues or improving performance. This could be because management pushes new features, or because developers would rather write a new feature than fix old code. Or because middle managers never get promotions for fixing bugs, only for adding features. Or maybe we can just blame it on sales. The real issue is one of prioritization.
  • Simple incompetence. This is always a possibility! I suspect that there are plenty of talented, professional developers at these companies – but perhaps those are not the ones being put on these projects. Again, an issue of priorities.

I’ve been using computers for nearly 40 years at one level or another. The capabilities of our computers have increased exponentially in this time. Too often the software we use has not kept up to the potential of the hardware. The end result is we must keep buying new hardware, to keep up with the demands of the same mediocre software. I don’t think this is going to change any time soon.

Google Backup Trials and Tribulations

Like many others, I’ve switched from using a dedicated camera to using my smartphone over the past five years or so. This is especially handy when traveling, since you can get by pretty well without needing to pack a camera and associated gear. The picture quality on phone cameras has come a long way!

I’ve always been an Android user, and for the past few years I’ve been taking advantage of having all the pictures/videos on my phone automatically backed up to google drive. This has been a lifesaver when a phone suddenly dies (thanks not-so-waterproof-bag in Thailand!) – the worst case is you lost whatever pictures/videos were on the phone since last backup. This usually means, the last time you were on wifi.

But, something that has been bugging me is that a huge percentage of my pictures are “in the cloud,” with the attendant risks. No, I don’t suppose google is likely to lose my pictures – but I’m pretty risk-averse with these kinds of things and I don’t like being held hostage by a provider. What works well now could suddenly be a problem if Google suddenly decided to change their policies…

So, I’ve been meaning to back up all these images to a backup system I control, that is not in the cloud. Google has something called google takeout that allows you to export data from many of their services. You choose the data you want, and start an export. After a while Google tells you it’s ready and you download it.

The problem is the amount of data. My export is something like 180GB. That’s not such a problem to store these days – the issue is the download. Google only keeps the export files around for short period of time. Our internet connection is not super fast. And it doesn’t help that the download links lose their session quite quickly – meaning you have to keep logging in… And then Windows has a tendency to kill the downloads when the laptop goes to sleep – sometimes.

As a result I’m on my second run of trying to grab this data in eighteen 10GB zip files. This is a pain, and it’s not going to be particular easy to repeat and get only the changed data.

In addition, the files you get include a directory for reach date a picture/video was taken. Sometimes more than one. Inside that directory there’s a mess of files, including a json metadata file. Organizing this is not fun.

There may be some way to use an API to make this a better process, but the last thing I feel like doing is mucking around with yet another API and writing code…

Well, if I come across better options, I’ll write it up here!

The More Things Change…

It’s been well over a year since I switched back to Windows from mac. Still not regretting, but it’s a little disappointing to see all those old rough edges still there in Windows.

For example, when I close the screen on my laptop… who knows what will happen? Usually it will sleep. Sometimes it’ll shut down. Sometimes it’ll go into some sort of weird half-shut down where it doesn’t really boot up, but all my apps have crashed….

Dealing with printers is just as fun as ever. We have a nice new Epson, and when I tried to print… nothing. Restarting the print spooler service fixed it, so not a big deal – but there’s no way my parents would’ve thought to do that.

Skype is especially weird. Sometimes it’ll just not automatically scroll to show new messages. Whether I get notifications seems to be basically random. Yesterday for some reason every time I used ctrl+v to paste – it’d paste the contents of the clipboard twice… wtf? Restarting fixed it. Skype worked perfectly well back before MS took it over – why mess with it? Tpyical.

All in al I’m still pretty happy with it, especially considering the price/performance vs a new macbook. But c’mon Microsoft, you can do better.

I know this stuff is not easy… but I think there’s often pressure to develop new “features” that are just unnecessary – but that’s a post for another day.

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.