June 23

It’s World Hydration Day!

Be sure to drink water when you’re out in the sun sweating a lot! In my present circumstance, I drink tons of water–gallons–when I’m out in the sun all day in 90 plus degrees weather with high humidity.

Also, if there’s a state that is an actual hell because of weather? I agree with my mom that my nomination of choice would be Nebraska. Very hot but extremely humid as well. It looks real nice, and sometimes there’s even a wind, but then that humidity just wraps it’s arms around you and pulls you to the ground as you grasp your final breaths for that sweet, sweet feel of a breeze. Lol.

October 31

Why Logging Is Important

Why you need logging before you realize you’ll need it. Because when the user says, “I ran into an error…” but then fails to tell you the details, or the order of events leading up to it, and even the error itself, logging would save you.

Instead of saying, “well, let me know if you run into it again, and write down the exact error and everything you did before it happened,” you can say, “alright, I can see what happened after I just looked in the logs.”

Category: Code, held in drafts too long, Rant, System Administration | Comments Off on Why Logging Is Important
October 25

Development, Automation, and Saving Time

(Note to the reader: this post has actually been a draft for a number of years.)

I’m a developer. I write code. Also, I’m just one guy with limited resources, so I can’t be spending a bunch of time testing my code in a bunch of different environments, or making sure that every single little change I make doesn’t have some unknown catastrophic ripple effect.

So I automate my life. I take advantage of freely-available tools. As much as possible.

How, you ask?

Self-Hosting Isn’t Worth It (sometimes).

First off, I don’t bother trying to do everything myself. I used to host my own code repository (a really, REALLY long time ago), and this took excess time to:

  1. setup
  2. configure
  3. maintain
  4. work with (use)
  5. keep updated
  6. handle security crap like SSL (you know, changing the website to https://….)

So I use GitHub. I’ve used SourceForge.net in the past, and it was alright for my first everyone-can-see-it code repository, but GitHub just feels nicer to work with. Going from SVN to Git was a hell of a learning curve, but totally worth it (yes, SourceForge now supports Git, but not when I switched). All my code gets out into the world, others can see it, and I get a tiny bit of exposure.

That said: self-hosting is a lot cheaper, if you’re willing to sacrifice time for money (like if you’re a poor nerd 🤓).

Continuous Integration is Very Important.

Unit testing helps avoid introducing bugs that have a nasty ripple effect. I’m not that great at getting massive code coverage with it, but I’m getting better at it.

The other thing is that, really, I can only directly (read: easily) test with the version of PHP available to me. Which is usually the newest version. And my server, or the servers that would potentially use my code, don’t necessarily have that new of a version… so I need to have something test against those old versions. That’s where Travis-CI comes into play.

So I setup the GitHub repository to work with Travis-CI. Every time I push something to GitHub, Travis-CI gets notified. They spin up a fresh new virtual server for each version of PHP that I declared my code to be compatible with. And they run all my tests in that environment. Oh, and they email me the results. WIN.

Semantic Versioning is Important.

Putting readable, easy-to-understand version numbers in the code makes life easier. Well, usually, except when I fall into “version hell,” where this project requires that project which requires another project, and none of them can decide on a version of a related project that they both like. Yuck.

Anyway, I’ll probably write more on this later. Maybe. If you’re lucky. (And I have time… Which is basically never.)

Category: Code, PHP, Rant, Software Development, System Administration | Comments Off on Development, Automation, and Saving Time
October 21

Self Promotion

I was talking to one of my co-workers the other day, and the topic of self-promotion came up. I was telling him all about how he had to get better at telling others how good he is at creating digital music… and then I realized that I was horrible at it.

So this post is here for promoting me.

Hi, my name is Dan, and I’m a geek.

I’ve done a lot of geeky things.

I’m Self-Taught.

All the programming and system administration capabilities I possess have been achieved through determination. No formal education has furthered that. No classes. No certifications. (I did go to college for a while, and technically I have a 2.96 GPA, but I never finished because they failed me for bogus reasons; I think I have like three credits or six credits left to get my Associate’s degree.)

I’ve been programming since the turn of the millennium, mostly on web applications. I taught myself PHP.

I learned system administration because it interested me, and because there was a need at the place I worked. I watched the owner peck away at a console until I learned the password and gave myself access. I officially became system administrator through sheer force of will. Within a few months, I was administering two dozen servers, with all but a couple of them running various flavors of Linux.

I learned PHP through reading and experimentation.

Is there more to the story? Yes. Quite honestly, this story has been in my drafts since 2014… So it has been time to publish it for a while. So, for better or worse, here it is / was. Lol.

Category: History, PHP, System Administration, Uncategorized | Comments Off on Self Promotion
October 17

Pedal Cars: How To Save The World

… and why Elon Musk should hire me.

(Disclaimer: this is a living document; I’ve posted it on the Internet to prove I came up with it first. And because I want to make money saving the world.)

If there is one single concept in this document that somebody should definitely start doing on a massive scale is to make stuff large-scale from styrofoam. And making power from burning garbage like the Swedes.

Or was it harvesting the methane from cow farts to make fuel? It might be that one.

On to the super-well-fleshed-out idea in bullet points.

The Bits

  • pedaling in the driveway:
    –> hyper-efficient pedaling
    –> how to power the heater (esp. during winter)
    –> how to power the AC (yep, you gotta pedal)
  • wheels that have wheels: how momentum can power your heater (and AC)
  • integrating non-custom electronics to make a smart(er) car
    –> using your phone…
    –>> mirror display onto bigger display (touchscreen)
    –>> load (custom?) app
    –> using old tablets
  • building (a body) using styrofoam
    –> the styrofoam collection facility/system
    –> melting it into hard plastic
    –> pour into molds (considerations for extracting the acetone)
  • powering the plant using garbage
    –> burn it like the Swedes
    –> SUPER NEGATIVE CARBON FOOTPRINT (Super Green – the Ruby Rodd story)
  • Making it cool(er)
    –> round tires (a car that literally turns on a dime)
    –> heads-up display: how to reflect a screen onto the windshield (safely)
    –> seats that slide out (for old people)
    –> transform(er)ing seats for wheelchair accessiblity
    –> heated seats, because winter.
    –> cameras all over for visibility (night + thermal vision)
    –> windows that are actually solar panels
    –> solar panels on the roof: how to make solar panels sexy (and durable)
    –> blind spot monitoring
  • Features I “stole” (off the Internet[?])
    –> automatic high beams
    –> heated steering wheel (and North Dakota needs it)
    –> intelligent “keys” / remote starting options (powered by Linux?)
    –>> using FOBs that use encrypted signals
    –>> intelligent scheduling: keeping your car un-frozen in the Coming Ice Age
    –> FOBs that combine fingerprint + proximity (+phone)
    –>> considerations for lost phones and asshole “hacker” thieves
  • (Really)Weird shit that might work
    –> using cow farts to fuel the “gas” engine
    –> buoyancy and sealed engine compartment: how Dante’s Peak will save you in a flood
Category: Uncategorized | Comments Off on Pedal Cars: How To Save The World
July 12

A Confusing Murder

“I think you’re lying.”

Those were the last words that John Sylvester would hear. A moment after the words touched his ears, he grew a large hole right in the middle of his face, with a much larger hole in the back of his head.

“WHAT IN THE BURNING HELLS?!?”

“What?”

Alex’s eyes opened wider—though it seemed nearly impossible that they could get any larger—as he shook his head and his hands in exasperation. “What do you mean, ‘what’? You blew a hole in John’s face!”

“Yes,” Owyn said matter-of-factly.

Alex shook with some combination of confusion and exasperation. “Why?” He looked at the body laying on the floor, just below the splatter of gray matter on the wall.

“He was sweating.”

“WHAT?”

Owyn’s brow furrowed slightly. “I do not understand your confusion. The man was sweating.”

Alex shook with confusion and frustration. He threw his hands in the air. “WHY WOULD YOU SHOOT SOMEONE BECAUSE THEY WERE SWEATING???”

Owyn nodded in understanding, giving a slight smile. “Liars sweat.”

Alex began a slow nod in mock understanding. “Ah, I see. So you shot him.”

“Yes, of course. I don’t know why we’re still talking about this.”

“Well, first,” he said, throwing a passive-aggressive finger in the air, “dead people don’t flaming TALK.” Another finger in the air, counting the transgressions. “Second,” he said, pointing at the man’s ruined face, “there’s another kind of person that sweats.”

Owyn’s head turned sideways very slightly, almost like a dog.

Fat people sweat!” He slapped the massive belly of the dead man, not breaking eye contact. “And this fat bastard is about five pounds short of a flaming BUICK!”

Category: Short Story | Comments Off on A Confusing Murder
June 30

Relationship Tree

So I heard this analogy once. I don’t remember exactly where, or the exact quote, but I know the gist of it.

Relationships are like a tree. Now, you, you’re the tree. The trunk.

You’ll meet people that are like leaves. Some fall off right away, some hang out for a while before falling away. But they all eventually fall away.

Then you’ve got branches. Branches are tougher stuff, they bring some leaves with them, but they stick around longer. But after a while, branches can fall away, too.

Sometimes you get somebody that’s like a trunk. You end up a tree with two trunks. Like when you get married, your significant other becomes that other trunk. But sometimes, after a long time, that extra trunk can fall away too.

Then you’ve got roots. Roots connect you to the earth. They hold you down, keep you rooted. They’re the ones that are there when all the leaves and branches and extra trunks fall away.

If you’re really lucky, you’ll have a lot of roots in your life. Hold on to them.

Category: Uncategorized | Comments Off on Relationship Tree
May 19

Anxiety

Super real. Ultra real. That’s what it felt like.

Everything was heightened. Not like some sort of superhero thing. No… but a lot of things were heightened.

During the day, everything was frightening. I’d have that feeling in the pit of my guts, that feeling like something terrible was about to happen. A loved one was about to get crushed under a semi. Or fall victim to an elevator that fell from the top floor of the tallest building, never to be caught by the emergency brake.

Waiting was torture. Was I going to lose my job, because I just wasn’t good enough, just like I’d always thought? Or get yelled at because there was some little thing I did in that program I wrote that was against what the client really wanted? Or get judged because of something I posted on Facebook a year ago, something that was racist, or angered somebody, or was one of a thousand different things that felt like a crushing weight.

Not having something to do was pure agony. Like putting a fishing line into my stomach and pulling this way and that, enough to hurt, but somehow not quite enough to rip out my entrails. Do I write the code this way, or that? The first way was clearer, but it might cause problems in the future, and bring down the entire company, bankrupt the whole lot, and I’d be responsible for so many people losing their jobs. Or the other way? The less clear way, but the way that would work, the way that would do exactly what it was supposed to do, even though it somehow felt like it was immoral? I felt like I was being impaled on the scales, driven down into a spike while holding those two platters, each holding a choice.

Running away felt like the only option. Run before they saw me. Before they could judge me. Before they could decide my fate. Before I found out about the latest thing I did that was wrong, the latest thing that would eventually destroy me.

The walk to my car was a hurried one. What if somebody saw me? What if they said something Jesus, WHAT IF THEY ASKED ME WHAT I WAS DOING? What would I say? The possibility was terrifying. I moved as fast as possible, looking far ahead to try to avoid anybody whenever possible. Saying “hi” meant acknowledging that I wasn’t at work. It meant acknowledging that I was fleeing.

At home, it felt terrifying as well. I had left work early. I wasn’t getting paid for those hours. I was taking food out of the mouths of my loved ones. Not making the money I needed to pay those bills that needed to get paid, the ones that would destroy me financially, if not physically.

Sleep. Sleep was the answer. Turn off the world, let time pass by, time that I didn’t have to be terrified about anything. Switch off my brain, so nothing was scary anymore. But sleeping…

During the day, naps were okay. I’d feel a little better, sometimes. Most of the time. It would make the dread go away, the sense that he world was about to melt around me, or come crashing down on top of my head.

Ideas were strange. Any idea that was based upon reality would grow, its roots reaching deep into the depths of my brain, becoming something so close to reality as to become indistinguishable from it.

“The outside world is a reflection of your insides,” or something like that. If you were angry on the inside, the world around you would seem to reflect it. Seem to reflect it. That turned into a world that was malleable, a world that could be changed on a whim. Zombie apocalypse? Just stare at those skies long enough, and the canisters of zombie virus would fall. The world revolves around me? Speak out, tell them you’re the messiah, and the world will fall in order, and God himself will condone your existence as divine.

Bringing a “show and tell” to work became a nightmare. At first, it was to show off my zombie survival kit. A machete the size of a sword, a survival knife, and all kinds of other gear. But bringing it to work turned into something terrifying. My coworkers would be scared of me, and I would not be accepted. Bringing it to work would mean that I’d be cast out, shunned, blocked from ever returning, because how dare I bring such weapons into a place of business?

I sat in my car, the gear sitting in the passenger seat. And I cried. I was terrified of the possibilities that I’d manufactured. I howled, literally howled in anguish, crying like I’d never cried before. I had to go to the hospital! I had to be committed again, had to be brought before the doctors again, so they could tell me what was wrong with me.

I couldn’t take it anymore. No way I could go home in defeat, unable to present my show and tell. But I couldn’t go to work either. So there I sat, in horrifying anguish, sitting in that terrible place between decisions. I put my car into gear and let it go. I’d slam into the side of the parking garage, go through that cement, and the end would take me as the car slammed into the asphalt below.

But when nothing happened, everything changed. I sat there, howling in agony, screaming and crying. The radio told me to roll the window down, because that’s what Florida Georgia Line meant when they talked about cruising. Leave the window down; my savior would find me that way, ask me what was wrong, and I would end up in the hospital, where all they cared about was that I was okay.

I was rolling down the hallway, then. Laying on one of those gurneys, the kind that folded up when pushed into the back of an ambulance. Somebody asking if I was okay, all while urgently bringing me to safety.

But going to the hospital made it worse. Because they didn’t really listen to me there. They heard the words I said, but they didn’t listen. They twisted my words into something else. Stress had become depression, which had become bipolar disorder. They would give me drugs that would make me worse… or maybe they’d turn me into what I was right then, in that moment, the crazy man that howled at the roof of his car in tears of anguish.

Sleep. A nap helped. Laying in my chair, in the afternoon, made things better. Made them bearable. Playing a game, or watching Netflix, was finally okay. Nothing terrible happened. I didn’t will the End of Days into existence.

Night came, and things changed again. I’d take my pills, and things would go bad again. My legs felt like they were being attacked by a thousand hot needles, sending jolts of electricity into my calves. A maddening sensation. I would sit, head thrown back, mouth wide open, while reaching toward my legs with my hands as they thrashed about.

Rubbing them made them ache in a way I’d never felt before, like they’d been cramped for an hour. Walking around made the shocking faster, or maybe less shocks and more needles. Laying down made it that much worse, but standing was nearly impossible. An hour of this madness finally left me too exhausted to stay awake.

But then the fear of suffocating. Because I couldn’t breathe unless I consciously did it. I stopped trying, and then stopped breathing. The fear of drowning in a room full of air was horrifying. I’d start to relax, then I’d stop breathing, and the fear of suffocation struck hard.

Category: Health | Comments Off on Anxiety