Recently I took a long, multi-day bike ride. Every day I got up early and was on the road at dawn. The heat index was between 90℉ and 100℉, so the goal was to travel as many miles as possible before it got too hot. One morning, after a rough ride, I was looking for a nice place to stop and have a snack. As I emerged from a rocky forested road I found myself looking at a nearly still lake illuminated by the early morning sun. The peacefulness of the scene was exactly what I was trying to get out of my bike ride. I whipped out my phone and took a picture of the scene so that I could enjoy it later. I hopped back on the bike and continued my ride.
As I continued to ride I though about that peaceful lake in the middle of nowhere. Was I really riding all that way through rural Ohio so that I could enjoy it latter? When would that latter come, when I was back in the bustle of everyday life? Perhaps I should take time to notice the beauty around me and appreciate it in the moment. Perhaps I should take time to notice the ugly around me and do more to fix it.
From that thoughtlessly captured photo I also started thinking about how digital technology makes everything easy. Maybe everything shouldn’t be so easy. It’s easy to take a digital photo, and it’s even easier to forget that photo. If it was harder to take would it be appreciated more? Maybe the challenge associated with taking photographs on film – changing the camera’s setting to account for lighting, color, and distance among other things – would make me better appreciate the things I was taking photographs of. Maybe I should try to make some changes which would help me slow down and appreciate the beauty, and ugliness, around me. To that end I would check if film cameras and film were still available, and I would incorporate them into my photography rather than relying so heavily upon the camera in my phone.
Despite having gone on a couple climbing trips this year, we haven’t made it to our favorite East Coast sport climbing spot, the Red River Gorge. Doug built out his trad rack, so we have been doing multi-pitch trad climbing at Seneca Rocks. With the 2019 season winding down, we decided plan a trip. The only time which worked for most of us was the weekend before Thanksgiving weekend; a week before the season ends.
The first time we traveled to the Red, six of us were able to make the trip. The original six were all back for this trip. We all had more experience, especially Doug and Mark, so we were ready to attempt some more interesting climbs. The only problem was the weather. The forecast for Saturday was calling for rain, so we sought out walls with rain protection.
The last time we climbed Seneca Rocks, weather prevented us from reaching the summit. So, before we even started driving out of Pendleton County we began talking about when we would return and actually get to the summit. It’s surprisingly hard to find a date when four working people with families and friends can break free for a long weekend of climbing, but eventually we found a weekend in early October which would mostly work for our group.
We drove down on Thursday night. The idea was to get a full day of climbing in before the weekenders showed up. This turned out to be a great date for a long weekend. The leaves were starting to change, the weather was nearly perfect for climbing, and the routes were only moderately busy. We summited twice via two different routes, and learned some good lessons along the way.
Before I started making mead I was brewing beer. I wasn’t very good at it, but I would have been much worse were it not for a handful of books pointing me in the right direction. I learned the basics of brewing by practicing what I read in Charlie Papazian’s book The Complete Joy of Homebrewing. I think it was actually Radical Brewing by Randy Mosher which gave me the idea to try mead making. When I decided to give it a shot, I picked up a copy of The Complete Meadmaker by Ken Schramm. Later I incorporated ideas from Steve Piatz’s book The Complete Guide to Making Mead. Most of what I know about making mead comes from these authors.
Through a long process of reading those books and experimenting I have become an outright decent mead maker. Along the way I have developed my own style. I like to experiment with honey varietals, adjuncts, and extraction techniques, so I normally make small one gallon batches. Also, I don’t have a temperature controlled fermentation chamber, so I only make mead during cooler months. Since I only ferment four or five months out of the year I end up having numerous small batches all fermenting at once, and I like to keep the ongoing maintenance to a minimum. These factors have shaped the process which I follow. So, in the spirit of sharing knowledge to help others produce better mead, I am sharing my process.
The Appalachian Trail is sometimes referred to as the green tunnel. The truth is that many of the backpacking trails on the East Coast run under the cover of deciduous forests and have few scenic overlooks. One backpacking area within driving distance of Northeastern Ohio which breaks out of the green tunnel is the Dolly Sods Wilderness. Dolly Sods has a rough, barren appearance which is partially the result of its unique ecology and partially the result of a long history of exploitation and abuse by European settlers.
Prior to civilization creeping up to it’s borders, Dolly Sods was an inaccessible region covered with spruce, hemlock, and mountain laurel. The expansion of the railroads brought the lumber industry into the area. As the lumber industry clear cut the forests they left behind a landscape barren of trees yet fertile for fires. Fires destroyed vegetation which survived the lumber companies. By the late 1920s little of value was left and the companies moved on. The Civilian Conservation Corps started planting spruce in the 1930s, but in 1940s the US Army rolled in. They were preparing for war in Europe and needed a place to practice destroying things with artillery shells.
Serverless technologies, such as AWS Lambda, are very handy tools for deploying code which needs to be ran infrequently. Rather than turning on a server which runs continuously, these offer on-demand computing resources. The services are designed to support lightweight tools which perform simple tasks. However, if the lightweight tools require one or two heavyweight libraries, then deploying code to these services can become problematic. But, with a little work, the problems can be worked around and switching to a more complex solution can be delayed.
I recently needed to deploy a simple machine learning script which would run weekly, so I turned to AWS Lambda. The Python script needed to pull some data from a data warehouse, perform some simple calculations, and then update the data warehouse. The script used scikit-learn, and that alone was enough to put it over the AWS size limit. To add to the trouble, it also required a data connector library which was nearly as large as scikit-learn.
Despite having done it for a few years, I’m not a very good climber. Unlike most people, I, for some odd reason, started by climbing outdoors. I learned to set up top-rope anchors and climb the short walls of Whipp’s Ledges. My friends are much better climbers than I am, probably because they are more dedicated to practicing in the gym than I am. However, I may have a slight advantage when it comes to building anchors and rappelling. So when Doug suggested that we plan an outdoor climbing trip to Seneca Rocks where we would get to do some easy trad routes, I was super excited to go.
I might have become slightly less excited after Doug began explaining the challenges associated with these routes. From a technical perspective the routes are very easy. From a mental perspective they can be a little more challenging, at least for a beginner. We would take routes which would leave us quite exposed, and rappels would be long enough to require using two ropes. I’ve lead sport routes of around 80 feet; here we would be looking down 160 to 220 feet. It would definitely be outside of my comfort zone, which is a good place to go sometimes.
I come from a large extended family, and Easter was one of the days we all got together. My grandmother was a very kind and understanding person, so all of the various personalities that make up a large family were welcome in her home. After my grandmother passed, attendance at family gatherings began to wane. I live two hours away from my extended family and was one of the last regular attendees to family gatherings. Since we live so far away, spending time with family was the only thing we did these holidays. So, when that tradition came to an end we needed to find a new tradition that brings our family together.
Perhaps we could make a tradition of connecting with family by getting away and enjoying nature. Last year we decided to go backpacking at Archer’s Fork over Easter. It snowed. So, this year we looked for some alternative to tent backpacking. We found Oil Creek State Park, which has the 12 mile Gerard Hiking Trai and offers camping in adirondack style shelters.
I just wrapped up a challenging computer vision project and have been thinking about lessons learned. Before we started the project I looked for information about what was possible with the latest technology. I wanted to know what sort of accuracy (precision and recall) I could expect under various conditions. I understand that every application is different, but I wanted at least a rough idea. I didn’t find the type of details that we needed, so we approached the problem in a way that would give us flexibility to change our approach with minimal rework. We used the Tensorflow Object Detection API as the main tool for creating an object detection model. I wanted to share, in general terms, some of the things which we discovered. My goal is to give someone else who is approaching a computer vision problem some information which may help guide their choices.
The customer’s objective was to get an inventory of widgets sitting on a rack of shelves. The widgets were fairly large and valuable, but for various reasons RFID and other radio based solutions were not an option. So, that is where computer vision came in. Using computer vision to solve this problem was not going to be an easy task. There were many obstacles to overcome, and I will discuss them in turn.
Last summer we drove from Akron to Fort Collins, Colorado. Although it was a great experience, we wanted to drive a little less this summer. So we came up with a new adventure idea. We wanted to find a place which was off the grid, but had front-country amenities, like running water, toilets, and great food. And, it had to be within about eight hours of Akron. It seemed like an impossible ask, and I was fairly sure that we would have to compromise on at least one aspect. Then I found Charit Creek Lodge in Tennessee. Amazingly, it has all the desired amenities and is just seven hours and fifty minutes away. As an added bonus, it costs about the same as a stay at a major hotel chain.
Rather than driving straight to Charit Creek, we decided to break our trip up. We were going to do a mix of backpacking at Zaleski, car camping at Cumberland Lake, and lodge camping at Charit Creek.
On this site I write about, what I like to believe is, a diverse set of topics. The normal way of presenting posts using a sequential list does nothing to help people discover other material on the site which they may also be interested in. I wanted to provide visitors with a list of links to content which is similar to the page they are currently viewing. However, due to limitations in the platform I’m using, there was no option to simply turn this on. So, I wrote some code and implemented an algorithm to solve this problem.
This details the hardware design for a simple 12-bit microporcessor. I created it for an undergraduate class which I took a few years ago. It is not really usefull for anything besides learning how computer hardware works, but I still think that it is pretty cool. I found the documentation for it on my hard drive and remebered how proud I was to have actually completed it; I am a computer scientist, not a computer engineer. Simple logic gates are used as the basis for the creation of more complex digital electronic circuits; those circuits, including a control unit, are in turn connected via a datapath to form a completed processor. The processor datapath is designed to implement the Simple-12 instruction set.