Compare commits

...

No commits in common. "master" and "main" have entirely different histories.
master ... main

11 changed files with 10 additions and 987 deletions

9
LICENSE Normal file
View File

@ -0,0 +1,9 @@
MIT License
Copyright (c) 2025 nebula
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -1,3 +1,3 @@
# helixnebula.space
this bespoke static site generator creates https://helixnebula.space/
this bespoke static site generate creates https://helixnebula.space/

View File

@ -1,126 +0,0 @@
from sys import argv
import subprocess
from PIL import Image
from jinja2 import Environment, FileSystemLoader
from markdown import markdown
from glob import glob
from json import dump, dumps, load
from os import path
import re
numbers = re.compile("[0-9]+")
out_dir = "/var/www/html/"
base_url = "https://helixnebula.space/"
template_environment = Environment(
loader=FileSystemLoader("templates/"))
with open("metadata.json", "r") as f:
metadata = load(f)
for placename in metadata.keys():
read_path = f"{out_dir}{placename}/"
photos = [
path.basename(photo).split('/')[-1] for photo in
glob(read_path + "*")
]
try:
photos.remove("index.html")
except ValueError:
pass
metadata[placename]["count"] = len(photos)
metadata[placename]["photos"] = photos
metadata[placename]["photos"].sort(key=lambda path: int(numbers.search(path).group(0)))
with open(f"{out_dir}photos.json", "w") as f:
dump(metadata, f)
def covers(overwrite=False):
print("running covers")
for placename, info in metadata.items():
read_path = f"{out_dir}{placename}/{info['cover']}"
write_path = f"{out_dir}cover/cover_{info['cover']}"
if not overwrite and path.exists(write_path):
continue
command = ["convert", read_path, "-strip", "-interlace", "Plane", "-gaussian-blur", "0.05",
"-auto-orient", "-resize", "700x525>", "-quality", "80%", write_path]
subprocess.run(command)
def thumbnails(overwrite=False):
print("running thumbnails")
for placename in metadata.keys():
for photo in metadata[placename]["photos"]:
read_path = f"{out_dir}{placename}/{photo}"
write_path = f"{out_dir}thumbnail/thumbnail_{photo}"
if not overwrite and path.exists(write_path):
continue
command = ["convert", read_path, "-strip", "-interlace", "Plane", "-gaussian-blur", "0.05",
"-auto-orient", "-resize", "300x200>", "-quality", "65%", write_path]
subprocess.run(command)
def compressed(overwrite=False):
print("running compressed")
for placename in metadata.keys():
for photo in metadata[placename]["photos"]:
read_path = f"{out_dir}{placename}/{photo}"
write_path = f"{out_dir}compressed/compressed_{photo}"
if not overwrite and path.exists(write_path):
continue
command = ["convert", read_path, "-auto-orient", "-strip", "-resize", "1200>", "-quality", "90%", write_path]
subprocess.run(command)
def render_index():
template = template_environment.get_template("main")
data = {key: value for key, value in sorted(metadata.items(), key=lambda item: item[1]['title'])}
photo_counts = {placename: metadata[placename]["count"] for placename in metadata.keys()}
total_count = 0
for _, info in metadata.items():
total_count = info["count"] + total_count
with open(out_dir + "index.html", "w") as f:
f.write(template.render({
"metadata": data,
"album_count": len(metadata.keys()),
"photo_counts": photo_counts,
"total_count": total_count
}))
def render_places():
template = template_environment.get_template("place")
for placename, info in metadata.items():
working_path = out_dir + placename
photos = metadata[placename]["photos"]
photos_json = dumps(photos)
count = len(photos)
widths = []
heights = []
for photo in photos:
photo_path = out_dir + "thumbnail/thumbnail_" + photo
img = Image.open(photo_path)
width, height = img.size
widths.append(width)
heights.append(height)
photo_specs = zip(widths, heights, photos)
try:
with open("md/" + placename + ".md", "r") as f:
md = markdown(f.read())
except FileNotFoundError:
md = "<h1>Blog Work In Progress</h1>"
with open(working_path + "/index.html", "w") as f:
f.write(template.render({
"count": count,
"placename": placename,
"info": info,
"markdown": md,
"photos": photo_specs,
"photos_json": photos_json
}))
if __name__ == "__main__":
try:
overwrite = "overwrite" in argv
covers(overwrite=overwrite)
thumbnails(overwrite=overwrite)
compressed(overwrite=overwrite)
except KeyboardInterrupt:
exit()
render_index()
render_places()

View File

@ -1,56 +0,0 @@
# A Peaceful Glimpse Into The Great Basin
This is the Great Basin, a land of contradictions: it's flat and rugged, hot and
cold, forest, marsh, and desert. The valleys, mountains, natural lakes, playas,
salt flats, volcanic activity, and more combine to form a place that, in my
opinion, is indescribably beautiful and fun to explore. It's sparsely populated,
with vast stretches of untrammeled wilderness. Seemingly in the middle of
nowhere, one can find many unpaved roads and trails to explore, however you will
not find very many developed hiking trails outside of the more popular areas. I
have hiked on jeep roads my car wasn't hardy enough to traverse.
A little background on what basin and range topography means goes a long way in
understanding and appreciating the landscapes of Nevada and western Utah. [This
very informative video](https://www.youtube.com/watch?v=Owjt_WJKrBo) helps
illustrate how these lands formed, I highly recommend watching it. [The
Wikipedia page for The Great Basin](https://en.wikipedia.org/wiki/Great_Basin)
is another great place to learn more. Finally, [this page at
birdandhike.com](https://www.birdandhike.com/Areas/BasinRange_Area/_BasinRange_Area.htm)
is honestly a better overview of this place than I can give. But, I did take
some pictures too!
Entering from the east along Mail Summit Road raises you from the valley into
the pinyon/juniper forests of the Seaman mountain range. Following the road will
bring you down into the vast Coal Valley, a dry, sagebrush-laden basin. The
valleys in the monument are pristine, with little variations like hills or
ridges between the mountain ranges. There are 3 such named ranges that make up
the monument, the eastern Seaman range, the western Quinn Canyon range, and the
central Golden Gate range, with Coal Valley to it's east and Garden Valley to
the west. The Quinn Canyon range is the highest, and features snowy caps in my
photos.
Thanks to the [map provided by Bird &
Hike](https://www.birdandhike.com/Hike/BasinRange/Camps-BR/_BR-Camps/_BR_camps.htm),
I found some scenic campsites, and one that was not on this map. My favorite
was the "GV Crags" site, with a cool rock outcropping and a trail that leads up
to the Golden Gate range (however it doesn't go to any high peaks, but does go
high enough to reach the forest)
Drives through the valleys, along the bases of the mountain ranges, and nights
under the stars here are great. It's very peaceful and I saw very very few other
people here. There are a couple of small ranches within the monument's borders,
but they do not intrude on the views or solitude. Of particular note would be
[City by Michael Heizer](http://www.tripleaughtfoundation.org/), which is not
available outside of a scheduled tour, but it is located here.
Also present in the monument are petroglyphs, but ancient rock art kind of gives
me the creeps when I look at it, so I did not explore those areas. The Bird &
Hike website goes into details about those.
This is an area that begs further exploration on my part and I will be returning
when I have the time. I would like to do more hiking, and take more photos in
the forests. My first visits, I did not stray terribly far from my campsites,
and I will do more exploring on foot next time. Enjoy the photos! And don't
forget to check out [the overview on Bird &
Hike](https://www.birdandhike.com/Hike/BasinRange/_B-R_Over/_BasinRange_Over.htm)
if you want to see and learn more.

View File

@ -1,113 +0,0 @@
# The Looney Tunes Badlands
The Bisti is, without a doubt, the single weirdest place I have ever been in
my life. It turned my understanding of how natural formations came to be right
on its metaphorical head. It is so bewildering that it exceeds description,
but I will try anyways.
The BLM-managed Bisti/De-Na-Zin wilderness, as the name implies, has two named
sections. The area these two wilderness areas cover is quite large, and trekking to
the heart of the region and back is probably not feasible in one day. Both are
known for absurd formations and an abundance of exposed petrified wood. It's
extremely dry, and is prone to large amounts of blowing dust in the spring.
The Bisti has no developed hiking trails, nor are you able to follow anyone
else's footprints except on the occasional sandy areas. I found some vague
descriptions online of what direction to try going first, but ended up feeling
like the coolest stuff I found was not there. It is very much a choose your
own path adventure. I didn't take any GPS tracks to share with you.
Admittedly, the view from the parking area is not impressive. None of the
weird stuff is there to see unless you commit to really hiking in. But it's
worth it.
On my first trip, I packed my things for an overnight backpacking adventure,
and set into the wilderness in the early afternoon. The first encounter is a
fairly large "plain" that is surrounded by small hills. Its inviting to look
at, and suggests that one can use it as a little highway into the wilds. I
first headed toward some of those low hills to see what I could find. A
staircase-like arroyo winding through the large mounds was one of my first
observations. The surface of the Bisti, it's flats and it's hills, are mostly
shale. Its like clay, when packed in it is quite hard but other times, like on
hillsides, it will collapse under your step. The hard parts look smooth and
the soft parts are very pitted, almost looking like a thick gravel. This
material seems to erode easily with rainfall, making the arroyos very dramatic
in appearance. This was far from the weirdest thing I would see on this trip,
but I was already pretty enamoured.
The shale came in hues of gray, yellow, red, and black. I'm sure the different
colors are made of different compounds (and shale may not even be the right
term for it), but I'm not a scientist. My first bewilderment of the region is
that there are many mounds, hills of various colors in close proximity. One
could be pitch black, and the one next to it would be vibrant red, and the
space between them would change colors quite abrubtly. The entirety of the
Bisti is not as dull looking as the drive to the parking area may suggest.
The next oddity I observed was an abundance of small caves and tube-like
erosions. The Bisti is filled with pits, crevices, holes, and small caverns.
Most of them are too small to walk in, but I did find a few that I could walk
into. I wonder what formed these. I often found myself looking at things that
were obviously eroded by water, but didn't actually make any sense to me. The
pipe-like formations that went up and down seemed to defy gravity, I was
staring at things wondering what could possess water to do that. It almost
seems like the water was jetted through the ground, like there was a lot of
pressure. There is also an abundance of paths that the water cut straight
through a mass of shale, but these made sense because one could track where
the water flows horizontally. At least *some* things make sense, but a lot of
it simply did not.
Then comes the petrified wood. Its essentially an ancient log that turned into
a rock. There were surely trees here at some point in the past, but the
petrified wood that is here is just casually sitting on the ground as if
someone just plucked them out from someplace else and just set them down
there. It's fascinating and fun to find.
There are some deposits of pristine looking sand, perfectly rippled from the
wind. There are no dunes of it that I found, but the bottom of some bluffs and
hills would have pools of it. It looks soft, I want to run my hands through
it.
Now, the hoodoos. And weird balancing rock formations? A lot of this stuff
looks like clay mushrooms. Some of it looks like big massess of very solid
rock sitting on thin pillars of softer looking material. The colors of the
heads and stems of these formations can be completely different. They look
like little goblins created them. Some are small, and others are sitting
well above the head and into the sky. These multicolored cliffs, rock
deposits, and hoodoos need to be seen to be understood or believed. And also,
flats between the hills with many rocks and boulders interspersed, just
sitting on the ground as if someone arranged them.
I set up camp at the base of a shale hill. The place I decided to sleep was
not quite as extravagent as what I had seen so far or what I would see in the
morning, but it was still inviting and I enjoyed it. I cooked dinner and drank
tea. As the night went on, I noticed that it was completely silent. No sound
of insects or plants blowing in the wind of any kind. Just silence. I really
liked it. I walked out under the moonlight and drank it all in. Silence, a
great view of the night sky (as anywhere away from the cities), and plenty of
room to walk. I had a peaceful day exploring and a peaceful night
appreciating.
In the morning, I took a new route. I found a lot of red stuff. And I do mean
*red*, very vibrantly so. I wound through the hills for a couple miles, not
finding a lot of hoodos but definitely weird caves and tunnels carved by
water. More and more weird stuff here. At this point I was heading back to my
car because i was running out of water. And then I left, not to return for
over a year.
My second trip, I had driven there for hours, only to realize once I was
getting close that the horizons were very hazy from blowing dust. I knew it
would be a bad idea to go out but again, I packed the overnighter bag and set
out into the badlands. It was extremely windy, and dusty, and by the time i
made it a couple miles in, my eyes were irritated. I did find some cool areas
and took some good pictures though.
Eventually I tried to set up camp, but it was a disaster. The intense wind
ripped my tent stakes out of the soft ground, and my food cooker was
collecting lots of dust into my food. I realized this was a lost cause and
packed my things up, trudged directly into the wind for two miles, and left to
go back where I came from. My eyes were filled with dirt, and I'm lucky I
didnt get some sort of eye or respritory infection. I was still happy to see
the Bisti again.
This place is really unique, and I'm glad that I went. It is a place of
extremes, very dry, very dusty, very barren of life, very bizarre.

View File

@ -1,71 +0,0 @@
# Oases in the Desert
Before writing this, I did not know what the plural form for the word "oasis"
was. Apparently it's "oases", which I had never heard before in my life! It's
hard for me to talk about Caballo Lake without also mentioning Elephant Butte
Lake. The two are less than 20 miles apart, and are both dammed resevoirs fed
by the iconic Rio Grande.
There is a cansus-designated place in New Mexico called Caballo, which has a
very small population. But they do have a post office! The name is shared also
by the Caballo Mountains range and Caballo Lake. As a title for this album, it
is used loosely to refer to that whole region.
Caballo Lake State Park is a peaceful place. There are small gardens of cacti
in various spots, with picnicking, fishing, and camping areas with spectacular
views of the Caballo Mountains. In my time spent there, I saw a lot of families
enjoying themselves, fishing, grilling, and chilling out. I was camping on a
rocky shoreline of the lake, and a man was walking with his dog. His dog
excitedly ran over to my campsite to greet me, and his owner followed and we
chatted for a while.
He was an interesting character, telling me stories of him being a
self-described con artist. He likes to sit at intersections in the nearby town
of Truth or Consequences, writing carefully phrased signs for panhandling. He
pointed out to me that he takes great care not to lie. While he may be asking
for money, he does not claim to be homeless or in danger, but he tries to
appeal to folks who do help the homeless. One time, someone gave him money and
said very sternly "this is for your dog, not for you.", and he said that he
listened to that demand. He came back later and gave me a real wooden walking
stick, colored like lapis lazuli. I still have the walking stick, though I
never preferred using it over my trekking poles. It does look quite lovely
though.
I have enjoyed kayaking on the lake. One morning I brewed myself some tea on
the shore and enjoyed it while slowly floating about. I spent a couple days
camping in the same spot, and there was another family nearby on the lake
shore. We never talked, but we were able to see what the other was doing at
camp. They spent a lot of time fishing. After a couple days, I decided to pack
all my backpacking gear onto my kayak so i could cross the lake and camp on the
other side. I found a nice sandy alcove with cottonwood trees, bordered by some
steep bluffs that led out to the desert at the base of the mountains. I enjoyed
a night of solitude, slept in my tent, and returned to the park the next morning.
When I got back, the family I was camping near at the park was concerned that I
had went missing. They asked if I was okay, and if I hadn't showed up earlier,
they would have asked the rangers to find me and see if I was alright. They
didn't expect me to leave like that and thought i got lost or hurt! I told them
I just wanted to camp on the other side, and they understood. They were very
kind and I appreciated that.
When I was hanging out by Truth or Consequences, I found some unpaved roads on
my atlas that led to the east side of the Caballo Mountains, "behind" the lake.
The roads traversed southward along the valley, and then had turnouts that went
west towards the mountain range. I found a cool spot to hang out and do a
little mountain biking. I didn't go all the way to the peaks, but the views
were really nice anyways. You can see the distant Elephant Butte Lake, from a
high vantage point that made it look quite small. Sadly I did not feel like
taking a lot of pictures in this area, but I regret that and want to go back to
do more photography, and then go to the peaks.
The east side of these mountains are where you can find the Jornada del Muerto.
It is a very dry, sometimes red-colored stretch of desert that challenged
Spanish travelers with a waterless 90 mile stretch. Along the highway south of
Engle, I found some access points where I walked the old trail and hiked up to
[Point of Rocks](https://www.nps.gov/articles/000/new-mexico-point-of-rocks.htm).
Here you can also find Spaceport America.
The areas around Truth or Consequences and Caballo have turned into one of my
favorite regions of New Mexico. I have spent a lot of time here enjoying the
Chihuahuan Desert. I feel very welcome and comfortable there and will surely be
back in the future.

View File

@ -1,142 +0,0 @@
# Hell on Wheels & Heaven in the Mountains
Picture this: a sunny, peaceful, and warm June drive into the Great Basin
desert, through valleys and surrounded by mountains, along the loneliest road
in America. Before setting out, I studied my atlas, searching for new access
roads into the wilderness. I drove east, until arriving at a small unpaved two
track leading to the Pancake mountain range. Silly name, I know, and honestly
thats what motivated me to go.
A Kia Soul is a funny vehicle to trek the desert wilderness. Front wheel drive
with road tires gives little traction on unpaved surfaces. I was cautiously
driving down the trail, when I came to a hill. I lost traction before the
peak, forcing me to reverse. In these situations, I always went in for a second
shot at a higher speed. Momentum works wonders to get through steep or sandy
sections.
The trail had small plants growing between where tires had worn the track. I
didn't think anything of it, they looked small and harmless. So I gave it the
gas and made it up the hill. I felt a small thump under the vehicle on my way
up, but honestly I had done worse in the past without any damage. All seemed
well...until I smelled gasoline. I stopped the car, stepped outside and could
smell it strongly. I crouched under the vehicle and saw a steady drip coming
from the fuel tank. Oops...
I had no cell signal, and couldnt call for help. I quickly realized that my
only option was to turn around and beeline to the nearest settlement. The
closest town was Eureka, I didn't know what all was there or if anyone could
help me, but it was my only choice. It was not very close and it took a while
to get there, but the gas leak was slow enough that I made it there with at
least a quarter of a tank left. I was hoping to catch cell signal there so I
could google the nearest mechanic shop, but even the town had no cell service.
I found a gas station on what appeared to be the main street, so I parked and
walked inside. My only hope was to ask the person working behind the counter if
there was anywhere in town to get my car fixed. She knew a guy apparently,
phoned him in and he showed up maybe ten minutes later. He crouched under my
car and told me what I already knew. But he didnt have the gear to fix it. He
needed not only a new gas tank but also a lift for the whole vehicle. He
reccomended a shop in Elko that could help me.
I think that many city folk could not imagine how remote Great Basin
communities can be. Eureka is a town with few services and no cell signal, and
from there to Elko was....over 100 miles, with mostly untamed wilderness
between them. I tanked up at this Eureka gas station and gunned it to the
North. Honestly I was not sure how far I could go before the tank leaked out,
but I didnt really have a choice but to try.
Thankfully the speed limit on state highway 278 was 70 MPH, which did wonders
to make me feel like I was getting there quickly. Along the way, I encountered
a vehicle going below that speed that I was not immediately able to pass. I was
in a rush and i really wanted them out of my way, but it didnt seem like that
big of a deal until I saw the sparks of a cigarette being tossed from the window
to the road. This scared the living crap out of me, because I was leaking fuel
and was about to drive right over that. Thankfully nothing bad happened, and I
was soon able to pass them and continue my...panicked drive.
It took nearly two hours but I made it to Elko with some fuel left. It would
have been great to be able to roll right up to the mechanic and get the process
going the same day, but it was too late in the day and they closed. I went to
Wal-Mart and bought a siphon kit and small gas canister so I could suck the
fuel out of the tank to save it for the morning, but I couldnt get it to work.
I was almost out of fuel but I managed to make it to a gas station where I just
got some fresh fuel to put in the 2.5 gallon can. I then drove out past city
limits and parked in the first spot that I could sleep in the car with. The
smell of gasoline filled the car, so I set up a tent outside and slept there
instead. Fun times!
First thing in the morning I showed up at the shop, after pouring the fuel can
into the now empty tank. Its a wild story to tell someone and they seemed a
bit...surprised at least, but they took the vehicle in and ordered the new tank
(or whatever it is they do at first). My dad found and booked me a hotel room
in Elko, so I plucked my essential gear and clothes out of the car and walked
from the shop to the hotel and checked in. I took a shower and tried to relax
for the evening.
The next day, to pass the time, I went to the [Northeastern Nevada
Museum](https://museumelko.org/). The wildlife exhibit was awesome, but the
settler and mining history section made me feel bad for the environment and for
the natives. They at least had some pretty mineral samples on display. After
that I walked to a mexican bakery and got some sweet treats. I went back to my
hotel room and quite frankly I was bored out of my mind that night. I didn't
want to be in a hotel, I wanted to be back out in the wilds.
The next morning, I walked back to the shop and asked if i could get more
things from my car, which was just sitting there waiting for the part to
arrive. I packed my big overnight bag with my camping essentials and about 4
days worth of food. I then installed a ridesharing app onto my phone and
requested a drive from the shop to the nearby Ruby Mountains. But that didnt
work out...three times, the ride was declined after waiting for like 10 minutes
each. The whole time, I was waiting in the shop, and there were people around
me. Eventually I told them I was trying to pay for a ride but couldnt get one,
and someone from the shop actually offered me a ride! When he was ready, I
grabbed my bag and he drove us all the way down Lamoille Canyon and to a
trailhead. There was no cell signal in the mountains, so we agreed to meet back
at the parking lot at a specific time some days later. And from then I was
entirely on my own.
In Elko, and in the lowlands around it, it was a warm June day, about 90F. When
I stepped out of his car into the mountain air, it was significantly cooler. I
filled my sawyer filter bottle with some cold water from a nearby stream of
snowmelt, and headed up the trail. In contrast to the desert valleys, there
were large trees, green grass, and lots of snow. I navigated the trail and
headed to higher ground.
I met some alpine lakes and passages covered in snow. One of the lakes,
Lamoille Lake, was mostly frozen, even in late June. The higher I hiked, the
more snowy it got. The first snowy passage was actually pretty sketchy for me,
as I did not have waterproof or even warm footwear and the sides of the trail
were steep. My hiking poles were awkward to use with this much snow on the
ground, and I almost slipped downward towards a snowy slope a few times. At the
end of that was land I could more easily traverse, which made a great campsite.
But when I arrived at the segment of trail that is called Liberty Pass, the
snow cover was too much and the trail was steep. I had no snow shoes, I didnt
even bring my crampons, so I had to accept that I couldnt proceed further
without serious problems with my shoes. They kept getting wetter and colder. I
turned around and explored what I could.
In the next days, the high of finding new mountain wilderness wore off, and
depression started setting in. I couldn't talk to anyone because I had no cell
signal, I couldn't hike higher because of my crappy shoes, and I couldn't bail
out because I didn't have my car. Sadness and embarassment from the repair
expenses, and my lack of control over the situation weighed me down. If that
wasnt bad enough, the next day, i broke my backpacking gas stove by carelessly
crossthreading the screw-in connection. I couldnt even cook a warm meal
anymore, and had to ration raw pasta and oatmeal. My protein source
(lentils) were inedible when raw. Things weren't looking great.
Despite the gloom, I still was happier there than I was in that hotel room.
Some cheer returned to me when it began to snow. A cloudy day in the 30F-40F
range, with gray skies and slow falling snow, made for good pictures and
brought back my appreciation for my surroundings. Time passed slowly but
eventually I swung back from the depression.
Eventually it was time for me to hike back to the parking area for my ride. He
showed up at about the right time and the car was fixed. I thanked them
fervently and drove away from Elko feeling simultaneously scarred and happy.
My time in the Ruby Mountains was bittersweet. Beauty abounds here, and water
is plentiful. I would go back in a heartbeat. But I still felt damaged by my
emotions and the moments that I felt stuck there. I hope to return in better
circumstances. And I learned to be more careful when screwing my stoves onto
the fuel canisters...and to not punch holes in my gas tank.

View File

@ -1,33 +0,0 @@
# Autumn Love
My sister and her boyfriend invited me to go on a trip with them to the Smoky
Mountains. This is great, because I hadn't previously planned a hiking trip to
the eastern half of the country, so having someone else pay for a hotel there
so we can go on a hiking trip sounded like a great deal and I am very thankful
I got to go here.
It was a long drive, but it was worth it. We initially arrived in Pigeon Forge
to eat and stay for the night. Quite frankly I did not enjoy Pigeon Forge. I
like to travel to rural areas and escape the crowds, but this town was
basically a huge and very busy theme park. I'm sure many people enjoy this town
but it wasn't really for me. But it wasn't the focus of our trip anyways. We
came to hike, and hike we did, even though the trails were very busy and we had
trouble parking.
The next morning we headed into Smoky Mountains National Park. I don't remember
the names of the trails we went on, but in addition to some extravagant fall
colors, we got to see some lovely rivers and waterfalls. They were fun hikes,
and were uphill enough to give us a workout. My sister's dog had a great time
on these trails too. We hiked a river trail after the first day, and before we
left the state, we also went to see Cherokee Lake.
Cherokee Lake was accessible from a hiking trailhead near a neighborhood. We
traversed a pretty big segment of it's shoreline, and at one point found some
heavily eroded rocks that reminded me of [the Bisti
badlands](https://helixnebula.space/Bisti/). The water levels seemed like they
were much lower than what they used to be.
At one point we drove up to an overlook that had a great view of Gatlinburg. I
don't remember all of the trip because it was quite a long time ago and I never
wrote about it, but I did enjoy it. If I ever go back myself, I intend to stay
a lot longer than we did that time.

View File

@ -1,237 +0,0 @@
{
"BasinRange": {
"title": "Basin & Range National Monument",
"state": "Nevada",
"cover": "99.jpg"
},
"Berlin": {
"title": "Berlin Ichthyosaur State Park",
"state": "Nevada",
"cover": "135.jpg"
},
"Bisti": {
"title": "Bisti Badlands",
"state": "New Mexico",
"cover": "19.jpg"
},
"Canyonlands": {
"title": "Canyonlands National Park",
"state": "Utah",
"cover": "20240616141708.jpg"
},
"CratersMoon": {
"title": "Craters of the Moon",
"state": "Idaho",
"cover": "20240701200914.jpg"
},
"GoldButte": {
"title": "Gold Butte National Monument",
"state": "Nevada",
"cover": "20240320115524.jpg"
},
"GreatBasinNP": {
"title": "Great Basin National Park",
"state": "Nevada",
"cover": "20240618111751.jpg"
},
"LunarLake": {
"title": "Lunar Lake & Lunar Crater",
"state": "Nevada",
"cover": "20240619100121.jpg"
},
"Misc": {
"title": "Misc. Uncategorized",
"state": "Many",
"cover": "45.jpg"
},
"Quartzsite": {
"title": "Kofa Wildlife Refuge",
"state": "Arizona",
"cover": "20240318163253.jpg"
},
"Sequoia": {
"title": "Sequoia National Park",
"state": "California",
"cover": "208.jpg"
},
"Tahoe": {
"title": "Lake Tahoe",
"state": "Nevada",
"cover": "20240401121328.jpg"
},
"WalkerLake": {
"title": "Walker Lake",
"state": "Nevada",
"cover": "203.jpg"
},
"Bluewater": {
"title": "Bluewater Lake State Park",
"state": "New Mexico",
"cover": "IMG_9773.JPEG"
},
"Cathedral": {
"title": "Cathedral Gorge State Park",
"state": "Nevada",
"cover": "IMG_1183.JPEG"
},
"Clayton": {
"title": "Clayton Lake & Dinosaur Tracks",
"state": "New Mexico",
"cover": "IMG_0907.JPEG"
},
"Caballo": {
"title": "Caballo",
"state": "New Mexico",
"cover": "IMG_0760.JPEG"
},
"Peralta": {
"title": "Peralta Trail (Weaver's Needle)",
"state": "Arizona",
"cover": "IMG_6990.JPEG"
},
"EchoCanyon": {
"title": "Echo Canyon State Park",
"state": "Nevada",
"cover": "IMG_1201.JPEG"
},
"CityOfRocks": {
"title": "City of Rocks State Park",
"state": "New Mexico",
"cover": "IMG_9191.JPEG"
},
"Diamonds": {
"title": "Diamond Range",
"state": "Nevada",
"cover": "IMG_0623.JPEG"
},
"Rubies": {
"title": "Ruby Mountains",
"state": "Nevada",
"cover": "IMG_0667.JPEG"
},
"ElMalpais": {
"title": "El Malpais National Monument",
"state": "New Mexico",
"cover": "IMG_9669.JPEG"
},
"CibolaGrants": {
"title": "Cibola National Forest Near Grants",
"state": "New Mexico",
"cover": "IMG_9966.JPEG"
},
"CibolaDatil": {
"title": "Cibola National Forest Near Datil",
"state": "New Mexico",
"cover": "IMG_9575.JPEG"
},
"Datil": {
"title": "Datil",
"state": "New Mexico",
"cover": "IMG_6663.JPEG"
},
"Flagstaff": {
"title": "Flagstaff",
"state": "Arizona",
"cover": "IMG_8048.JPEG"
},
"VLA": {
"title": "Very Large Array",
"state": "New Mexico",
"cover": "IMG_6644.JPEG"
},
"Phoenix": {
"title": "Phoenix",
"state": "Arizona",
"cover": "IMG_7879.JPEG"
},
"SaltRiver": {
"title": "Salt River Canyon",
"state": "Arizona",
"cover": "IMG_6709.JPEG"
},
"CoconinoFlagstaff": {
"title": "Coconino National Forest Near Flagstaff",
"state": "Arizona",
"cover": "IMG_8407.JPEG"
},
"WatsonLake": {
"title": "Watson Lake",
"state": "Arizona",
"cover": "IMG_7580.JPEG"
},
"PrescottNF": {
"title": "Prescott National Forest",
"state": "Arizona",
"cover": "IMG_7458.JPEG"
},
"BoyceThompson": {
"title": "Boyce Thompson Arboretum",
"state": "Arizona",
"cover": "1606.JPEG"
},
"ToApacheLake": {
"title": "To Apache Lake",
"state": "Arizona",
"cover": "IMG_1735.JPG"
},
"SonoranSnow": {
"title": "Sonoran Desert Snow Day",
"state": "Arizona",
"cover": "IMG_8764.JPEG"
},
"GoldwaterLakes": {
"title": "Goldwater Lakes",
"state": "Arizona",
"cover": "IMG_7200.JPEG"
},
"Roswell": {
"title": "Roswell & The International UFO Museum",
"state": "New Mexico",
"cover": "IMG_5957.JPEG"
},
"Mogollon": {
"title": "Mogollon, A Ghost Town",
"state": "New Mexico",
"cover": "IMG_5380.JPEG"
},
"ChiNaturePark": {
"title": "Chihuahuan Desert Nature Park",
"state": "New Mexico",
"cover": "IMG_6236.JPEG"
},
"Bumblebee": {
"title": "Bumblebee",
"state": "Arizona",
"cover": "IMG_8535.JPEG"
},
"TontoNF": {
"title": "Tonto National Forest",
"state": "Arizona",
"cover": "IMG_1670.JPG"
},
"Superior": {
"title": "Superior",
"state": "Arizona",
"cover": "IMG_6153.JPEG"
},
"Gila": {
"title": "Gila National Forest",
"state": "New Mexico",
"cover": "IMG_5468.JPEG"
},
"OakFlat": {
"title": "Oak Flat",
"state": "Arizona",
"cover": "IMG_6104.JPEG"
},
"Pushawalla": {
"title": "Pushawalla Palms Trail",
"state": "California",
"cover": "IMG_1424.JPG"
},
"SmokyMountains": {
"title": "Smoky Mountains",
"state": "Tennessee",
"cover": "IMG_5708.JPEG"
}
}

View File

@ -1,65 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>nebula's photoblog</title>
<link rel="icon" href="favicon.ico" />
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="mainHeader">
<p class="title">
i take pictures
</p>
</div>
<div class="mainBody">
<div class="postBody">
<p>
<h1>MAINTENANCE IN PROGRESS expect breakges</h1>
<h1>Work in progress!</h1>
This is going to be a photo blog. Right now its just a mess of undescribed photos.
A lot of photos have not been uploaded yet and work on CSS and choosing which images
are included here are underway. Come back later to see more pictures, descriptive
content and better CSS.
</p>
<h4>A collection of {{ total_count }} photos in {{ album_count }} albums.</h4>
<details class="toc">
<summary class="tocText">Table of Contents</summary>
<br>
{% for placename, info in metadata.items() %}
<div class="tocEntry">
<a class="tocLink" href="/{{ placename }}/">{{ info['title'] }}, {{ info['state'] }} [{{ info["count"] }}]</a>
</div>
{% endfor %}
</details>
</div>
<br>
<div class="photolinks">
{% for placename, info in metadata.items() %}
<div class="photolink">
<a href="/{{ placename }}/">
<div class="mainImgContainer">
<img class="preview" src="cover/cover_{{ info['cover'] }}">
<div class="mainImgContainerTop">
<span class="placeLink">{{ info["title"] }}</span>
</div>
<!-- <div class="mainImgContainerBottom">
<img class="openIcon" src="openIcon.svg">
</div> -->
</div>
</a>
<!-- <a class="placeLink" href="/{{ placename }}/">{{ info['title'] }}, {{ info['state'] }}</a>
<span class="indexPhotoCount">{{ photo_counts[placename] }} Photos</span>
<br>
<a href="/{{ placename }}/">
<img class="preview" src="cover/cover_{{ info['cover'] }}">
</a> -->
</div>
{% endfor %}
</div>
</div>
</body>
</html>

View File

@ -1,143 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{{ info['title'] }}</title>
<link rel="icon" href="../favicon.ico" />
</head>
<body>
<link rel="stylesheet" href="../style.css" />
<div id="galleryContainer" class="galleryContainer">
<div class="toolbar">
<button onclick="prevImage()">Previous</button>
<button onclick="imageNewTab()">Open Full Size</button>
<button onclick="delGallery()">Exit</button>
<button onclick="nextImage()">Next</button>
</div>
<img id="galleryImage" class="galleryImage">
</div>
<div class="mainBody">
<a class="indexlink" href="../">
<!-- <img src="../icons8-home.png"> -->
Home
</a>
<!-- <br> -->
<div class="locationDisplay">
<span class="locationTitle">{{ info['title'] }}</span>
<span class="locationState">{{ info['state'] }}</span>
</div>
<div class="headerImageContainer">
<a target="_blank" href="{{ info['cover'] }}">
<img id="headerImage" class="headerImage" src="/cover/cover_{{ info['cover'] }}">
</a>
</div>
<div class="postBody">
{{ markdown }}
</div>
<h3 class="photoCount">{{ count }} photos</h3>
<div class="allphotos">
{% for width, height, photo in photos %}
<a id="{{ photo }}" class="previewLink" onclick="javascript:enlargeImage('{{ photo }}');return false;" href="{{ photo }}" target="_blank">
<img width="{{ width }}" height="{{ height }}" id="{{ photo }}" class="preview" src="/thumbnail/thumbnail_{{ photo }}">
</a>
{% endfor %}
</div>
</div>
<script>
viewState = null;
// jank here for getting photos during html templating
photos = JSON.parse('{{ photos_json }}');
galleryContainer = document.getElementById("galleryContainer");
galleryImage = document.getElementById("galleryImage");
previewLinks = document.getElementsByClassName("previewLink");
headerImage = document.getElementById("headerImage");
function enlargeImage (filename) {
viewState = photos.indexOf(filename);
galleryImage.fullRes = filename;
galleryImage.src = "/compressed/compressed_" + filename;
galleryContainer.style.display = "block";
headerImage.style.rotate = "none";
};
function delGallery () {
galleryContainer.style.display = "none";
galleryImage.src = "";
headerImage.style.rotate = "-3deg";
};
function nextImage () {
viewState++;
if (viewState == previewLinks.length) {
viewState = 0;
};
galleryImage.fullRes = photos[viewState];
galleryImage.src = "/compressed/compressed_" + photos[viewState];
};
function prevImage () {
viewState--;
if (viewState == -1) {
viewState = previewLinks.length - 1;
};
galleryImage.fullRes = photos[viewState];
galleryImage.src = "/compressed/compressed_" + photos[viewState];
};
function imageNewTab () {
window.open(galleryImage.fullRes, "_blank")
};
function dragHandler (event) {
};
function keyHandler (event) {
if (event.key == "ArrowRight" | event.key == "Space") {
nextImage();
} else if (event.key == "ArrowLeft") {
prevImage();
} else if (event.key == "Escape" | event.key == "q") {
delGallery();
}
};
function clickHandler (event) {
if (event.target.id == "galleryContainer") {
delGallery();
} else if (event.target.id == "galleryImage") {
if (event.clientX > window.innerWidth / 2) {
nextImage();
} else {
prevImage();
};
};
};
// last_pointerx = NaN
// function onDown (event) {
// // console.log(event);
// last_pointerx = event.x;
// };
// function onUp (event) {
// if (event.x > last_pointerx) {
// }
// if (last_pointerx > event.x + 50) {
// prevImage();
// } else {
// nextImage();
// };
// };
document.onkeydown = keyHandler;
document.body.onclick = clickHandler;
// galleryImage.addEventListener("touchstart", onDown);
// galleryImage.addEventListener("touchend", onUp);
</script>
</body>
</html>