Gray, overcast, desolate, and perfect


12:54PM On a typical 89-degree, sunny, humid July day, there’d be 40 people eating their lunches out on this courtyard. Today, it’s gray, cool, and breezy. Chairs and tables are dry. It’s abandoned. I don’t get it.

To me, this is ideal weather for sitting outside. I’m not sweating a lick. Not a spot on me is cold. The rustling of the leaves is calming. This is my normal. The rest of you, you think it’s gorgeous on those July days. I don’t know what is wrong with you.

I know, from years of experience, that no one takes me seriously when I say I actually prefer this weather to that weather.

My problems with the weather are a microcosm of my difficulty finding my place in this sphere. I can’t even present myself authentically during the most banal small talk about the weather without presenting a disconcerting contrary view. To put everyone at ease, I have to lie. Or pretend that the rain is such a downer or that I can’t wait to get outside on a warm, sun-soaked day.

How I experience the weather isn’t merely a point-of-view or a quaint preference. It’s me. But looking around, there is no one else out here. Everyone traversing the courtyard is going from inside one building to inside another building. No one is lingering. It’s…what is It? 60 degrees. It’s not 30.

Since I never blog, I’m very aware that a post like this might play better if I spent time to thoroughly think through what I’m saying, to actually spend some time crafting this. But I haven’t been making the time for that. And I’d be afraid to do that, anyway, because I’d still be unhappy with the result.

Why blog today? Now? Why not the thousands of other times I have something to say, something far more important to say than something about the weather?

Same reason I never do anything I’d like to do. Fear. What if I’m judged? What if I’m dismissed? What if I don’t receive any validation? What if I’m typing into a void?

I am so behind. On everything.

It’s difficult to just start and write when there’s no context for anything I’m writing. You’ve got no context here.

Quick story:

I needed a career change.

I took a couple of grad school classes. Not a bad decision. Didn’t work out like I’d hoped.

Quit job to go to code school. Immense risk taken. But not a bad decision. Hasn’t worked out like I’d hoped.

Got a job doing web development. Some interesting work with good people. I think I was quite productive and learned a lot. But not a good fit. (I am making a conscious decision to be sparse on details but still be authentic).

Got another job doing web development. So far, not a good fit. Learning a lot. Productive? I’ll measure productive like this–what have I done to help anyone else’s job, health, or general well-being?  Nothing yet. And that’s the worst feeling for me. I need to be useful. Shouldn’t this be a conversation I should be having with the people I work with? Yes, and I will. Of course I’m being vague here.

Ok, that’s enough damage for one lunch break.

Starbucks Cold Brew No Classic With Cream 2 Splenda

4pm @Starbacks, Guess Rd.  – I thought I’d get away from Hipsterville for my attempt at laptop productivity. But fuck Starbucks. I’m spoiled by Hipsterville coffee. I was confused when I was asked if I wanted cream and how many sweeteners. I do that shit myself. I want control over the creaminess and sweetness of my beverage. I’m used to that. Now I’m stuck with a $4 beverage I am not enjoying, and it’s been a waste of brain energy to consider the pros and cons of calling Starbucks on their “if you’re not happy with your drink” pledge. As misanthropic as I feel, I don’t have it in me to tell someone that the beverage they prepared for me sucks, and they should make it again. I don’t do that. I’ll return items that have been pre-manufactured. I’ve taken to returning half-consumed frozen foods to Costco. But when I see people doing jobs I would never last a day at (essentially, any service job), I am loathe to (just stone me for even using that expression) make a complaint.

Of course, not everyone is as thin-skinned as I am. Were I to complain about this coffee-flavored piss they call “cold brew”, I would do it very politely, probably in the upper five or ten percentile of politeness for beverage complaints.

In the end, I’ll eat or drink anything. It’s a beverage. It’s neither cold nor even presented in a manner that implies some craftsmanship of brewing. I wanted my mason jar, not the mega-plastic cup that screams overwhelmingly with mainstream global consumerism. (Stream-of-consciousness writing leads to a lot of poorly constructed, poorly expressed, flat-out bad writing. I’m immune to the fear of exposing my inadequacies right now. Who knows why I’m choosing right now at this place and time to break a long hiatus from writing in here. Actually, I know, but that’s an explanation I probably won’t provide today).

So…back to…mason jars….I long for the iced coffee of Bean Traders in South Durham. But I didn’t want to drive down there. It’s crowded. I’m likely to run into someone, and one never knows if it’s going to be someone I want to run into or someone whose mere presence overwhelms me with post-apocalyptic despair. There’s no one to run into here in North Durham. Well, that’s not entirely true. If I wanted to go somewhere and be sure not to run into anyone I know, I could go to one of the I-85 McDonald’s. The internet at these can be pretty good and the seating and noise-level actually conducive to work. And if I did run into someone, we’d bond instantly over our shared secret of McDonald’s being an awesome place to get work done. Ok, way off topic now. (And what exactly is the topic at hand today, Dave? Because I don’t think it was going to be mason jars).

For the record, I love Joe Van Gogh and Bean Traders, and I’m just not hipster enough for Cocoa Cinnamon, though I’ve got some new sunglasses and record beard growth that might make me look just obnoxious enough to blend in. (Oh, I love the beverages, and I’m sure most people are quite lovely. I’m just going through a trust issue with people right now, nothing personal. True, the trust issue has lasted a few decades, but I still think it’s just a phase.)

(More parenthetical asides. (There’s another phrase that triggers the thought, “I just used that expression.) Writing this was just interrupted by my attempt to link in that Starbucks image. There’s no quick, easy way to take a photo on my phone and get it somewhere such that it’s immediately embedded in this post I’m composing on my laptop. That’s annoying. Almost as annoying as hearing the tinny voice coming from the mobile phone of the guy next to me. I’m so very easily distracted, and that’s a topic for another day…)

Seriously, where was I, and was my original intent here? Alas, I don’t think there was one. I think it was just to get a post up here, and, with that, perhaps some momentum to doing this regularly, even if this communication with the world isn’t bidirectional.

So, this cold brew? Really, lukewarm sweet coffee piss is the best description my unread mind can come up with. I don’t see myself coming back here. But I suppose a venue of this size that’s mostly empty near downtown wouldn’t last. (A moment of silence for Intrepid).

It’s probably time to click on Publish. I’m starting to feel anxiety bubble up, and that anxiety is going to tell me to click on Save Draft and never look at it again.

(I did just save this, and the WordPress app pops up a message saying something to the effect of, “Great! Keep on goin’!” I hate, hate, hate when web apps try to be cute with their messages. Google started it. Now all web developers like to try to be clever with their error and confirmation messages. Just say “post saved” and be done. But the error messages are worse. You’ve just had your whole day ruined by a crashed web app, and you see, “Oops! Oh, no :-( we’re so sorry! :-(” instead of “We rushed out this build and have no QA. If there’s a better app to do this, you should use it. But there’s not, and this is free. Hahaha. Joke’s on you for relying on a free web app!”)

I’ve got a million more of those tangential thoughts. And pet pictures. Why am I not blogging pet photos every hour on the hour?

Worst blogging snafu ever

Who faithfully reads this?  Don’t answer that, please. More than ever, I don’t want to know. In a recent effort to consolidate Google accounts and various account logins, I made a major snafu.

I posted a blog post here that was meant for my private blog. In my private blog, I am completely unfiltered. I say things I wouldn’t even tell my therapist. In fact, my private blog is the best therapist I’ve ever known. It’s written from the perspective that it will never be read by anyone.

And yet, it was out here for three days, unbeknownst to me. I actually don’t know for certain what the potential reactions could be, because I’m not even rereading it. I don’t need the added stress. But I know what the content generally looks like. A few of you read and may have had reactions ranging from “WTF?” to “seriously?” to “what an asshole!” to “wow, that’s incredibly pathetic and sad” to “I can’t believe he has the balls to post this!” That was an accident.

But it happened. It can’t be undone, other than my having now deleted the post.

I had been thinking about how to move forward with this blog. I’m done with job-hunting mode for the first time in a long time, so I was considering posting more frequently on a more diverse set of topics than I’ve been doing in the Bull City Dave era of blogging.

But that now-deleted post…never would I intentionally post something like that. Of course, I’m bringing attention to it now, so perhaps I’ve piqued some curiosity.  But I feel compelled to post this to address those who happened to see the post. I suppose I don’t have anything significant to really say on the matter, since I’m not going to address anything specific one way or another.

pettio splash image

February 28, 2015
It’s time to get this blog post posted. It originated in early January, and then I was close to getting it out about a week later. And then crickets. Today, as February concludes, and stunningly for me, it’s been over six months since I presented my code school project, I think I ought to declare to myself that I’m placing a moratorium on development.

I’m going to annotate the draft I’ve had sitting in WordPress for two months and then perhaps compose some concluding thoughts. But I just want to get this done and move on…

January 12, 2015
I wrote this over a week ago. I was going to insert some screenshots and post it, and I never got around to it / lost enthusiasm for entire post. Constantly overwhelmed by what I observe to be brilliant, expert work out there, I find myself questioning if it is foolish to call attention to my pet project. It’s not just a few tweaks away from being something impressive and meaningful. Alas, I started this post. Some part of me will feel better if I get it out there. I suppose the idea is that, someday, I’ll have something impressive, and I’ll point back to this and appreciate how far I’ve come.

[2/28] I don’t know if I am personally capable of appreciating how far I’ve come in any discipline. But over the last two months, I’ve done very little other than some mostly experimental stuff that hasn’t even made it into the website. It still looks like a three-week code school project to me.

January 3, 2015
So what’s going on with this pet profile website? I really should’ve figured out an idea for a simple website that did one task really well when I was considering a final project over the summer. But I didn’t come up with any sparkling ideas at the time. If I was going to do something pet related, it was suggested that I make a dog park map/review application, but I had just developed a strong resentment towards dog parks as a result of the treatment Moksha and I had recently received at the hands of the Northgate Dog Park bully. That was the impetus for the suggestion, but I could only imagine such a website becoming a cess pool of internet comment trolls. But this was just a project for a coding class. It didn’t have to be a real-world app. But I wanted to do something that COULD be a real-world app.

Unfortunately, what came to be called had too large a scope. A generic profile site, by it’s very nature, could potentially include everything about a subject—photos, videos, descriptions, characteristics, vital statistics. Actually, it doesn’t seem that involved when I describe it like that. I think I’ve already written about this. I could focus on elegant design, a complex data structure, integration with a social networking app, a robust descriptive profile, or a photo management system, but not all of the above.

As a result, since I presented the project at the end of August, whenever I’ve looked at to do some work on it, I’ve been overwhelmed by the unlimited action items that the application requires in order to be presentable and usable. Even when I’ve had a list of bugs and necessary enhancements, I’ve found myself sidetracked by the need to attack nagging issues or to tackle problems that didn’t impact usability but seemed like worthy programming challenges. This has been my platform for learning more than anything. But learning new concepts, libraries, and frameworks would be better accomplished through far-smaller exercises. I’ll start such smaller exercises, but then I’ll be so bothered by how unfinished is that I am compelled to turn my attention to it.

I’m going to rattle off some thoughts about the site, in no particular order.

  • Photo layouts
    • This has been a time drain. From the get-go, I was insistent that I wanted a layout for photos that didn’t compromise original dimensions. No cropping. No distortion. Lots of sites no how to intelligently pan and crop photos, like Flickr and Google. On the individual pet profile page, I opted for a skyscraper approach, like what Pinterest and Tumblr use. There’s a popular library Masonry that should intelligently place objects Tetris-style so they fit together like pieces of a puzzle. It’s cool when it works. But it’s a mess when it doesn’t, when you’re loading images from multiple sources asynchronously and are having trouble figuring out how to implement JavaScript promises to postpone that rendering until the images have been loaded. So that was frustrating for quite awhile. Eventually, I gave up on Masonry and now use a homemade squeeze function.



      November (later)

    • For the Browse, I just went with a fixed height. This works out ok, except when photos have a high height:width ratio. I didn’t prioritize implementing a way for a user to choose a primary photo nor some library that allows for cropping. I randomize the primary photo on each reload. I have had an animation that is distracting, for the purpose of playing with transformations. I was going for the look of a bunch of polaroids. I don’t feel like it works well and want something better.

      September (later)
    • So I implemented a justified view for both screens so there’d static margins on each side of the montage, and then I spent a bunch of time on a squeeze function that should intelligently calculate where more images can fit. But it’s far from perfect, and a lot of skinny images wind up grouped at the top.
    • I don’t even have a pop-up or carousel or slideshow to see images on a larger scale. I just have a link to view an image at full-size. There are a million libraries to do these things, and I could definitely implement something simple on my own, but I just never got around to it.
      [2/28] – I did recently play with Flickity, brought to the world by the same guy who did Masonry. I had posted on here an example. Of the many things I might do with this website, implementing something like this would be one of them.
    • I was proud of myself for figuring out how to save smaller copies of the full-size images on the Parse Cloud server.
    • I recently spent a lot of time implementing a method to allow a user to actually remove an image that had been uploaded to the profile. But implementing a photo management system from scratch just seems like a ridiculous undertaking. See section on ‘Purpose of this site’ if I get around to it.
  • Fonts
    • I haven’t gotten those right yet. Pusekatt might be clever for a main title, but it doesn’t work anywhere else. For awhile I used something called Gruppo, which i thought looked nice, but it turned out it only looked alright on a retina display. On a standard screen, it looked horrible. In an act of desperation, I switched to Montserrat, which I’ve come to loathe since I’ve found that Bootstrap sites all default to this, and it’s so blocky and generic. I’m looking at thin, crisp fonts now.
    • [2-28] I’ve currently got Nunito going on. Still not ideal.
  • Overall design
    • I have no training in design. I know what I think looks great in a website. I’ve accumulated a lengthy bookmark list of elegant designs. But I’m not emulating any of them. It bothers me a lot. I want a site that “pops”.
    • I keep switching between a light background and a dark background (and I think it was gray for a little while). I think I’ll wind up with white with a lot of whitespace, with enough orange to satisfy my need to make everything orange these days.

I have more to write, but I think I ought to stop. I’d be surprised if more than two people actually read all the way through this. (There are lots of satirical pieces about how sad bloggers often self-deprecate and write about how they wonder if people are still reading.)

Bottom-line…this ain’t ready for primetime. I really do own the domain, which cost me all of $0.99 for the first year. I know pettio is trademarked by a Chinese company that makes pet strollers, so it wouldn’t be viable in the extremely hypothetical event that I found a focus for this site. Anything using .website probably isn’t viable, either, since the term website itself is becoming increasingly irrelevant.

And back to the present…

January 13, 2015
I just took a few minutes to insert some screenshots I had pasted to I realize that I almost prefer the original August 2014 styles to what I’ve got now. Background colors, fonts, sizes, layouts… I haven’t gotten a combination I’m happy with yet.

I had said I only wanted five minutes worth of reading. There’s far more I would say if I were to continue. The main page…I’ve struggled with how to present that. The account admin page, which no one actually sees unless they try to be a user, always needs work. The whole page needs to look better on mobile. The profile information needs to render better.

So much to do. But there’s so much else I want to learn and to work on that does not align with worked on this project.

But, hey, if you’re reading this, please do feel free to add your pet or pets to

Otherwise, check out the pages of the 2015 edition of my menagerie.

Buster on

Moksha on

Lucille on




And back to February 28, 2015
Phew…just getting this post into publishable condition was a chore. What else to say? From a technical standpoint, there are some things I’m proud of. Unfortunately, to a site-visitor, these aren’t apparent, and to an experienced developer, they’re far from impressive.

Ultimately, I am disappointed that I never got this to a state where I felt comfortable telling the world, “Here it is…have at it!” I could rattle off a long list of what’s wrong with it. Suffice it to say, if you notice that the site renders badly on a particular platform, or some admin action is difficult, or the app should support something or other, or the ideal design would be to have x, y, and, z, I’ve probably thought about it a lot, and I’m disappointed that the site doesn’t do that. I think I’ve beaten myself up enough about it, though.

I’m going to try to focus on smaller projects as I have the time. There’s a whole topic bubbling beneath the surface of this post of what it’s like to try to gain expertise in a field you know you’re still very green it and yet have also technically been dabbling in for two decades.

Herman gallery using Flickity from Metafizzy

Herman 2000-2014

This will be on the pet profile site soon, but I’ve been playing around with it outside of that. This is more of the clean, crisp pet memorial page I wanted when I started thinking about the pet profile project over the summer. More to come on that. February 14 was the one-year anniversary of Herman’s death, so I thought it was fitting to use him as my test subject. This is working pretty well on mobile devices, though I need to do some mobile landscape view tweaking.

Using library Flickity from Metafizzy.

Is PayPal tricking people into paying with Smart Connect?

I was going to title this “Using my mad web dev skills to fix Paypal change payment method problem” but thought the current title is good click bait.

I’m sure I’ve had this happen to me several times before over the years. The PayPal payment method defaults to Smart Connect, which is usually not my ideal payment method since I’m prone to run a balance and pay 26.99% interest on that balance. After much frustration, I usually give up and leave the payment method as it is.

Paypal change payment link not clickable

Paypal change payment link not clickable

This was my post-fix payment method. Originally, it was Smart Connect.

I went into Chrome Dev to try to see what’s going on. I found that by increasing the input element’s font-size, the link was clickable.

Checking out the link Change input element.

Checking out the link Change input element.



I could have also changed the padding on the element or probably a host of another things. Something is overlaying the link, and I don’t feel like spending an afternoon debugging their website.

But I’ve got to wonder if PayPal intentionally lets this bug stay to force people to use Smart Connect. I definitely do not have it as a preference anywhere.