Browsed by
Month: May 2021

A drop in the bucket

A drop in the bucket

If a drop of rain fell anywhere in the US you choose, what path would it take to the ocean? River Runner will show you and it does it with a really awesome 3D view. Try it out here:

The javascript source lives here and uses USGS NHDPlus data and their NLDI API to visualize the path of a rain droplet from any point in the contiguous United States to its end point (usually the ocean, sometimes the Great Lakes, Canada/Mexico, or another inland water feature). It’ll find the closest river/stream flowline coordinate to a click/search and then animate along that flowline’s downstream path.

Haunted Mansion Cocktail Lounge

Haunted Mansion Cocktail Lounge

I love spooky things and Halloween is one of my favorite holidays. Imagine my joy when Raven’s Manor, a cocktail lounge designed to look like a haunted mansion, just opened this last month in downtown Portland. I gave it a visit and really enjoyed it.

The partners, Vega and Jared Bradley, have concocted a backstory for the Manor. As the tale goes, namesake Dr. Raven was a prominent elite known for his lavish parties, which were actually a ruse. “All the while,” Vega explains, “he was secretly kidnapping victims and taking them down to his laboratory for human experimentation.”

While the bartenders at Raven’s won’t be in the business of abducting humans, there will be an opportunity to take part in some experiments if you so choose. In a month or two, the bar is scheduled to start accepting reservations for an “Elixir Experience,” where guests are asked to solve clues throughout the property and then use everything from chemistry equipment to cauldrons to create custom drinks.

Cardboard Sculptures by Greg Olijnyk

Cardboard Sculptures by Greg Olijnyk

Greg Olijnyk creates amazingly detailed cardboard creations. Often fully articulate and outfitted with LED lights and glass where necessary, the extraordinarily works are futuristic, slightly dystopic, and part of larger world-building.

Olijnyk is based in Melbourne and shares works-in-progress and more photos of the machine-like sculptures shown here on his Instagram.

Table to Farm Dining

Table to Farm Dining

Since 1999, Jim Denevan’s organization, Outstanding in the Field, has hosted open-to-the-public ticketed dinners in all 50 states and 15 different countries. Not content with farm-to-table, Denevan actually brings the table to the farm, inviting chefs and farmers to work together to produce a meal that tells a story about its creators and about the place where the food is grown. They set up long tables for dozens, or hundreds, of guests in exotic locations and farmlands.

They only sponsor a few dozen events each year and they sell out rather quickly. At about $300 per seat, the price is as hot as the seats.

An Outstanding in the Field dinner at Hama Hama Oysters, on the west shore of the Hood Canal in Puget Sound
Grace-Full Reset

Grace-Full Reset

Vaccinations rates are climbing, and our public spaces are re-opening. Being fully vaccinated, I have also started to re-connect face to face with friends again. I think it was common that our social circles shrank during lockdown – despite our best efforts. It has been amazing to start meeting up face-to-face again, with both good and a few painful experiences.

What is now most apparent is that we are in a once-in-a-lifetime moment right now. A gift, an opportunity. By lets step back…

Change is Strange

First off, being in public and around groups of strangers felt unsettling after a year of maintaining social distance. I’ve stayed pretty good about only going out when needed and doing lots of remote/distanced shopping. If you’ve been a remote worker for the whole year, you’ve probably gotten used to more …. relaxed attire, grooming, and eating habits. Time to get nice clothes out of the closet (do they fit!?) and re-learn table manners. Even where you go isn’t the same old brewpub or weekly happy hour. Masks, seating restrictions, smaller/different menus, new/changed staff – all have changed the experience.

One of the things that caught me most off guard seems obvious – but hit me harder than I expected. It actually took me a while to realize what I was feeling. Your friend/family member is going to look and behave a little different. Maybe a lot different. People have been away from barbers, gyms, and the public eye for a long time. Haircuts will be different, hair color, beards, fitness levels, weight gain/loss. Mannerisms and phrasing will be different. Even if you kept up online – seeing someone changed in person is a shock. You’ll also realize how much time has passed as you talk. Much has happened in people’s lives and it may feel like there is a gulf of lives moving on in different directions to surmount. I remember after my first few meetings that I felt upset and a tinge of sadness/loss. It wasn’t until later I realized it was because of the changes. While I know it’s not true, there was this feeling that this wasn’t exactly my old friend anymore – or at least not as I remembered them. I was going to need to reconnect my old feelings with this ‘newer’ person. Which leads us to the toughest reality of all…

Reality Check

I expected meeting up again to be a joyful jump right into catching up on what we’d missed. Like the good old times! In most cases, that was true, but I also wished I’d had better foresight for two big reasons.

Even if you’ve kept in reasonable touch, you are likely to find some have serious struggles in at least some part of their life -and it may not become apparent until you are face to face. Some have lost loved ones, have lost/unstable jobs, had health issues (COVID or otherwise), be in financial distress, experiencing very common isolation-induced mental health issues, find themselves in troubled home lives, or even facing divorce. Isolation changes us mentally – and seeing the effects might be unsettling. We’ve also not been intimately sharing these stories – so be ready for you/them to open up with possibly hard experiences. Go slowly, tread lightly, and be aware of what you can, or can’t, offer. Every single person I’ve talked with has experienced some rough times this last year – including yourself. Sometimes the stories come out like a flood – unexpected and full of emotions.

Change That Divides

But there was one thing that was even more shocking. You are likely to find that they (or you!) are taking passionately different, maybe even radical, stances than you expect. The last year has had months of social and civil unrest, politically polarizing elections/candidates/policy, differing opinions about wearing masks, vaccinations, dealt with the serious mental stress of isolation, etc. All of us have been affected by these events and most of us have processed them in isolation, with very small friend/family circles, or worse: toxic online forums.

On at least two separate occasions, something they said was a shock and it hit me with the blinders off. Our social filters have been off for a long time – and they/you are likely going to say very pointed things as if they expected you to already agree. Arguments they’ve had on social media/family will come out with passion. There will almost certainly be moments while the gravity of these disconnects hits for both of you. Openly hostile words may even burst out.

People tend to be more callous, unforgiving, and divisive when they’re behind the masks of anonymity (ex: forum posts, social media, etc) because anonymity gives a sense of freedom to say whatever one wants without fear of reprisal. The kind of discourse many have been having online is not acceptable in a work place or face-to-face. We’re going to have to re-engage in actually civil civil discourse. This is something that I think is a VERY good thing – but it reminded me that I need to be ready to help each other get back to rational, civil, and reasoned discussions. That means being ready to be shocked, be patient, forgiving, and ready to respond with civility and reason – not passion. On a side note, toxicity bred from anonymity is just one of the many scientifically proven reasons why you should get off of social media and comment forums.

A Gift Of Opportunity

These things may sound bad, and they could be. But I think we have the opportunity for one of the most profound moments of grace in our lifetime – if we engage it. Our whole lives and the whole world has been brought to a halt; and now we get to start anew.

A priest friend of mine challenged me with this sentence: “What have you done with the gift of covid?” This shocked many, especially those that definitely didn’t feel like covid was a gift. He himself had buried family members, helped and heard the stories of countless suffering financially, emotionally, relationally, spiritually, and physically. Visited care facilities of desperately lonely elderly and assisted those displaced by wildfires. How could he say such a thing?

After the initial shock, I felt the reality of his words. In recalling the works of saints, one only has to look at previous world pandemics to feel convicted. It was precisely in these FAR more dangerous plagues, civil unrests, wars, and persecutions that some of the greatest saints did their hardest work. Instead of hiding, they threw themselves into the assistance of others and standing for the truth. How much had I really done to ease the suffering of those around me? I was largely wrapped up in my own personal issues, news fixation, and work deadlines. Boy, I sure could have done better. The reality is, we have another opportunity to do better.

To be clear, covid is not the kind of ‘gift’ any of us would want. But life is change, and for the Christian, change is a time for growth if we hold tight to God. Every time something ends, sometimes painfully, the opportunity for a new beginning is there if we grab ahold of the grace to seize it. Leonard Cohen said it best like this:

Ring the bells that still can ring
Forget your perfect offering
There is a crack, a crack in everything
That’s how the light gets in

Leonard Cohen’s “Anthem”:

Right now, there are cracks in our lives and world. This is precisely when the light can get in – if we don’t use the pieces to build walls instead.


As we re-emerge, we’re going to find our relationships, priorities, opportunities, country, and world are changed or will be changing. Our old world is in fragments – what we build now is up to us but we need to be active about it.

All of our relationships are going to go through change and require re-connecting. Even ones we had during lockdown are going to change as we move back out again and spend more time at work/school/etc. It is the right time to pray about how you want your relationships to be from now on – because we’re going to be actively changing and choosing the time and energy we spend on them. The grace to know how to approach each relationship is there if we genuinely lift the relationship up to God for grace and guidance. It’s also the right time to talk about your relationships with your loved ones and decide together.

For the most part, all our social activities have come to a complete stop. It’s a great time to reflect on your priorities going forward, because you have nothing in the way of them now. Our calendars are literally blank. Have you spent time with God and talked about your life post-covid? Should I be packing every night and weekend with social activities like before – or is it time to leave room for family, responding to the needs of others, and God’s will? Volunteering and spending my life for others? Learning new skills? I myself would like to be more active in my parish. I’ve already volunteered for a few simple jobs and plan to keep them a priority. While things are still limited, it’s the perfect time to spend time in front of the blessed sacrament and listen to the spirit.

It’s also a great time to start conversations anew. This might be the right time to try and re-connect with distant, estranged, or just neglected loved ones, relatives, friends, neighbors, coworkers, parents, children, siblings, or even a community such as your church. This must be done wIth love, compassion, a willingness to hear and respect, but most of all FORGIVENESS. Divisions and divisiveness can end – if we don’t let our base natures and emotions rule us. Forgiveness is about releasing pain, hurt, and the place those people/things/events still hold in and over you – even if the other side is not. Maybe it’s time to saying “I’m sorry” – some of the most powerful words in our language. It doesn’t mean things will be back to normal – but it does mean you find freedom – and maybe even more than that. Jesus waits in the sacrament of confession to be that ocean of forgiveness in which we throw these hurts. This requires a lot of grace, but with prayer, healing may be just a word away.

As the old adage goes: not choosing is still a choice. Don’t let inertia/habit rob you of the opportunity to set new direction.

The goal of a troll

The goal of a troll

Best comment of the week award goes to MetroMillano:

Lol – you all got totally trolled by MrStupidComment647. You’ll notice they posted their dumb comment 2 months ago and now there is a thread 50+ comments long of you’all are still p*ssing in your cornflakes about it. They never once responded.

Don’t you realize yet? Their goal isn’t to win an argument on the internet, the goal is to make you waste YOUR life on their internet.

The worst thing as Christians in life isn’t to try and fail, to sin or make countless mistakes in striving to live as we should. If nothing else, God is still glorified by his mercy and forgiveness when we ask for it. No, it’s to have wasted our whole life and not really made any progress towards perfection. If evil can’t make us fall directly into evil, it will certainly try to stop us from making progress and wasting the infinite opportunities of each day.

Out of Source CMake Build Example

Out of Source CMake Build Example

Build systems are certainly not the sexy parts of software development. However, no part of the development process impacts your team so much as it’s build system. Build systems that perform poorly, regularly break, or generate inconsistent or confusing output files are one of the fastest ways to introduce bugs, slow releases, and bring a whole team to a screeching halt. That’s why automated reproducible builds are a keystone of agile development.

Out-of-source builds are one way to improve your build system. Out-of-source building is a practice that keeps the generated/compiled intermediate and binary files out of the source file directories. Traditionally, most build systems would generate object, binary, and intermediate files mixed right next to their source files. This leads to a confusing hierarchy of files that made getting a consistent picture of your build and source nearly impossible on big projects.

It turns out CMake can help you create our of source builds with just a few little tricks. Unfortunately, there were few examples and many of them were overly complex. So, to help get folks started, I wrote up a very simple sample. It’s the perfect starting point for your next project. It works with both Linux and Visual Studio builds.

De-kernelling Corn

De-kernelling Corn

Handy Geng built himself a ridiculously over-engineered machine for getting the kernels off of corn cobs. As someone from the heart of Midwest feed corn country – I approve.

Incidentally, this is how it’s done in normal industrial settings (from How It’s Made video series):