A few weeks ago I got 600 schmeckles from Uncle Sam for living in a country woefully incapable of dealing with threats to its citizens’ well-being. So I decided to invest in a Monoprice Voxel and crash course my way through Blender.
What resulted is a rudimentary model of the Wisconsin State Capitol Building. Initially called the WisCapMini, the early prototypes feature slightly different designs as I have iterated. If you are holding on to a translucent red or white one without some dome and column features, or a couple with incomplete helvetica “g” lettering underneath consider yourself lucky. Full refunds in the amount of $0.00 will be issued if you are unhappy with them.
While shopping on Amazon I came across a product that I have told people in the past does not exist. So I purchased two of them and decided to cut them open for science.
Surprise! They’re a scam. There is no converter for USB to FireWire because they are incompatible standards. What I found inside these adapters was nothing but some adhesive and mismatched wires. If you do plug these in you will definitely damage equipment.
This was going to be a top ten. But then it became impossible to keep to just that figure. Choosing 30 even required a bit of restraint.
In a year that it can be easy to assert nothing happened because of the pandemic, I was able to still find adventure. It is clear my thematic focus this year has been what is happening on the street, conflict, drone, art, and sometimes the mixing thereof.
The Wisconsin State Capitol Building is a central focus because this is my neighborhood. The building is located on a geographically unique natural feature for a state capitol in that it is on an isthmus. The square nestled in between two lakes has many moods.
The streets surrounding the Capitol Building, specifically State Street, offer a daily human carnival if you keep your eyes open. I use a Tamron 18-400mm lens to keep my distance in order to not be seen. It allows me to watch these tiny dramas unfold without disrupting their unrehearsed performances.
The unjust killing of George Floyd, Breonna Taylor, and other African-Americans sparked national protests. Madison traffic was frequently shut down as massive crowds marched for justice. Living across the street from the police station meant that sometimes, at all hours, the protests were literally on my doorstep.
Peaceful protests sometimes devolved into street violence. Early on the Wisconsin State Troopers clashed with protesters. One night the statues of representing Women’s suffrage and noted anti-slavery activist were torn down and dragged through the streets. I had the unfortunate experience of being tear gassed several times during the chaos. But I also got to meet the sweetest, kindest, and most generous people in this area. When I was hungry they fed me. When I was in pain they came to my aid. When I was in danger they protected me.
In stark contrast to the BLM protests were the anti-mask and election protests staged by Trump supporters. In principle they wanted the same thing, a better America. Where they starkly continue to differ is for whom; on the one side everyone regardless of race, color, orientation or creed and on the opposing side protection from “them” by returning to a time when America was great. I’ll let you infer which side brought guns to back up their arguments.
Even in these unprecedentedly dark times I found the time to work with a favored artistic brush, light. Long exposures require the cover of darkness to work in, and I feel most alive at night. Life on the isthmus isn’t always so kinetic, so it takes a bit of forethought to imagine how to these will look beforehand. The lights captured on the street are merely short snapshots of time. Put them together and they seem to come alive.
While the pandemic prevented me from wandering too far from home I was able to escape to South Dakota’s badlands. Traveling with me can be an exercise in frustration for those who like to plan, because I intentionally do very little research beforehand. Around every corner is adventure when you know little about what will come next. I am also a fan of the drama that inclement weather can provide.
The Red Sessions
On Thursday nights I host a live show on State Street where I can peacock. There are also various venues around Madison that cater to those who like to show off. But those things are shut down until further notice, so I decided to focus on documenting a select few of those outfits. A trio of them became known as “The Red Sessions.”
The last photo I have decided to highlight is merely a personal favorite.
Faced with ample time due to Covid-19 pandemic I decided to pick up a book that has long been in my vintage Apple collection. It is a 1981 version of Jef Raskin’s excellent The AppleSoft Tutorial, acquired by someone from Bay Port High School in Green Bay, Wisconsin. As a native of that city this manual survived several collection purges through the years.
The last time I picked it up was in 2009 for the Retro Computer Challenge. My only coding attempt in my adult life resulted in a program called FIRESHOW, which launched randomized fireworks. It was largely autonomous and has little actual interactivity. In the decade interim I had forgotten nearly everything I had learned about AppleSoft BASIC.
As I was killing time I followed the subroutine on page 85 that draws a horse. The results had me giggling, so I decided to see if I could add hooves. Then I wanted to see if I could get them moving. What if I moved the horse? From that point on I just kept on going.
Games of the 1980’s were often cruel in their level of difficulty. This was a function of extending playtimes in order to justify the cost. A $50 game in 1984 cost a lot more than a $50 game in 2020 when adjusted for inflation. I never enjoyed that aspect of of gaming while growing up in that decade. As an adult I also find that my upper limit for most gaming sessions is about 20 minutes. So I wanted to create something that would be forgiving and completed in a single short sitting. If you bet the minimum for each race you will still come out with a positive wallet balance in the end, but you may not make the Top Ten list where you can add your name. This also adds a little challenge element. You can compete against yourself or others who play the game with you.
I could have kept on going with the skills I have learned the past three months. Adding multiple players, custom horses, more robust statistic variables, and other neat features are well within my means. Perhaps in HORSE RACE II: THE HORSENING? For now I am content with what HORSE RACE is. A nice little game that is easy to play and 100% complete.
It was not an easy undertaking by any stretch. Even with the modern convenience of accurate Apple II emulation I still faced hurdles. Several times I coded for hours only to make a mistake in saving, which overwrote all my work. One bug that resulted in a memory leak took 16 days to solve with a single command. Those challenges, and meager computer specs, forced me to think of creative ways to solve the problems that arose.
One particular example of where an error led to a feature was the photo finish. Although a photo finish is normal for a real world horse race, the idea had not occurred to me. But a misplaced accumulator variable determining where to draw a horse on the screen resulted in it being drawn much farther to the right than it should have. When thinking about how to contain that misplaced variable, my photography skills provided influence. Contain the horses within a box, of which could be a polaroid photo finish. It is theme appropriate and has the benefit of being consistent with real world horse racing.
The experience also forced me to reach out to the Apple II Enthusiasts community to ask for help where appropriate. There are numerous well documented resources for anyone trying to do this. Some of the code in HORSE RACE is lifted directly from those sources, namely sound generation and file handling.
If you look at the code for HORSE RACE, it is clear that its structure arose organically as I was learning. It is a spaghetti dish of GOTO, GOSUB, and FOR/NEXT loops. But if you boot the 5.25″ floppy it performs just like a retail game.
As an aside, I find it extremely satisfying that Apple’s iCloud automatically backed up my progress snapshots. A current Apple product is supporting data for their computers from three decades earlier.
HELLO – AppleSoft
ProDOS formatted disks will automatically boot HELLO when the Apple II is turned on. HELLO contains the menu that informs the player of their options. They can start the game, read instructions, see the Top Ten list, reset the Top Ten list, see instructions for IIGS users, and a short section about me.
TRACK – AppleSoft
This is the initial file that I started programming. It is clear within lines 0 – 1000 based on the GOSUB and GOTO calls that I started with little regard to what exactly this program would contain.
The vast majority of the code handles the animation sequence from race start to race finish. A lot happens under the hood to make two little hooves move!
TITLE – AppleSoft
Pretty self explanatory.
This was split out into a separate file because I erroneously thought TRACK had eaten up too much RAM that was causing the game to crash consistently on race #3. It turned out not to be the case, but learning how to link AppleSoft files together became useful when I had to segment the expanding program.
The only other thing worth noting here is that title loads the machine code for tone generation before loading TRACK. This will reside in RAM for the duration of the game.
TOPTEN – AppleSoft
Shows the outcome of your betting. If you lose, it shows you one message. If you win it asks for your name to be added to the list. This was a huge challenge as the documentation to save and load text files was somewhat inconsistent online. In addition to that, the behavior of virtual and real world hardware treated the code with differing results. It took two weeks to make it work properly.
For some reason I could never get the modified name and score data to read or write properly when using a FOR/NEXT loop. So I did the most inefficient thing possible and typed out every adjustment line manually. If I didn’t mention it here you probably would never know that because it just works.
TOPTENVIEWER – AppleSoft
A variant of TOPTEN, sans name input or game over dialog. It took four attempts to get this because I kept overwriting it. Moral of the story: Don’t drink and code.
TOPTENRESET – AppleSoft
I created this as a development tool to reset the TOPNAMES, TOPSCORES, and SCORE text files when I was testing things. If a file got corrupted, or data needed to be cleared, it would go ahead and reset everything. I then realized there was a real world use case in the game in case someone entered an improper name.
TOPNAMES – Text File
This text file stores the ten names in the TOPTEN list.
TOPSCORES – Text File
This text file stores the ten scores in the TOPTEN list.
SCORE – Text File
This file transfers the wallet variable from TRACK to TOPTEN.
If you like the game I accept donations at Venmo: kenfager or Paypal: kenfager @ gmail.com.
The best experience is of course going to be on an actual Apple II computer. The game was tested on IIe (stock and enhanced), IIc, and IIGS hardware. However I am unaware of how the game will run on an original II or II+.
I must confess that at the beginning of every year I have a creeping anxiety that I will not be able to produce anything of interest. But year after year, the adventures and characters I meet because of photography expands into new exciting areas. This year was no different.
Early 2018 I used my tax return to invest in a drone to give me new perspective on some of the places I had been shooting for years. Instead the new horizons that opened up pushed me to go even further and push the envelope. It is no surprise then after compiling these photos that many of them are in fact drone shots. The photo above was taken at an abandoned prison in the middle of nowhere. Much like the cell block facing a barren farming landscape all around, I often feel abandoned, alone, and isolated. I deliberately try to funnel those themes into my work.
This photo of the Eagle River Mine is a great example of the lengths I will go to replace loneliness with adventure. It is located deep in federal property in the middle of the Rocky Mountains. Getting in and out required incredible physical exertion, especially when climbing the mountain to get up to Gilman, Colorado. But the results were absolutely stunning, and I now have an adventure story to tell anyone who will listen.
In May I had the opportunity to take a vacation to Sequoia National Park with members of my family that I had never travelled with. Our time on this Earth is ever fleeting, so if you have the means, there is no better time than the present to go explore. Which by the way is just a blink of an eye to the great Sequoia trees who live for thousands of years. The photo of this fallen giant is by no means a technical accomplishment or has much artistic merit. But it is one of my favorites because in that moment, I felt wonderfully inconsequential to universe and it’s raw beauty, in the way that only grasping nature’s wonders can.
This view of the Yosemite Valley is a great example of how nature provides a greater form of entertainment than even Hollywood can provide. Earlier in the day I had expended a great deal of energy climbing Vernal Fall, which is in the lower right. Upon reaching the top I considered it a great accomplishment. Well… when we snaked our way up to the other side of the valley I saw just how small it was next to the towering Half Dome. My great accomplishment was nothing. And it was beautiful.
Later that evening I camped out in total darkness with my camera pointed to the sky. The stars were so bright, and again, I felt as a speck of dust floating in an ever expanding universe indifferent to us all.
The next few photos are examples of being in the right place at the right time. The dancer above, ahem, doing his thing, would not have been possible without a bit of social engineering. The telephoto lens I had brought to Pride Fest in Milwaukee was a little bit longer than the limit. But I was able to convince staff that I was well intentioned and had been shooting all morning without issue. Sometimes it is not about your talent as a photographer, but your ability to connect with other people.
There are a lot of homeless people on State Street. I don’t normally take the time to talk with them, but every once and a while they do surprise me. The man above was trying to make his way to Oregon after a run of extremely bad luck. He felt cornered by circumstance, which given the angles where he was sitting was just perfect. I gave him some food, and wished him the best on his travels.
This one is just serendipitous. I love when life throws you weird curve balls. As a photographer sometimes you have split seconds to react. This was one of those moments where I turned around and just happened to nail it.
Natural light and its manipulation continues to be an area of interest for me. The winter days around the Capitol Square can be drab and uninteresting. But you have to engineer magic with what you have. The above shot was taken with a telephoto lens with a fixed focus. With the shutter open I change the focal length from 400mm back to 18mm. The shaking and stuttering you see in the light streaks are caused by my hand. But the end results are magnificent.
As the sun sets on 2018, I am quite satisfied with how I have grown as a photographer. But I can feel that anxiety slowly creeping in and I must harness it for 2019.
If you like any of the shots above and would like to support my life’s adventures please visit my store on Society6.