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.

Top 379 Catch-Up: #98-#89

I was recovering from my kidney transplant over the summer of 2011. I felt like I was freed up to figure out some new career skill to attempt to acquire. I thought about how I been WordPress blogging for years, and how I enjoyed customizing the blog. But I hadn’t ever looked into the best practices for really working with WordPress at a level that might lend itself to career doing something like this. Si I thought I’d start a new blog and use it as my development platform.

I was also feeling nostalgic for my mixtapes of 20 years earlier, which mostly consisted of sappy love songs and a general quality of music that most would judge as pretty darn awful. I was nostalgic for the lengthy countdown cassette series I had made. Top 100. Top 100 II. Top 100 III. Top 100 IV. And then, in college, the Top 200. Each countdown included voiceovers announcing the countdown, Casey Kasem-style. “Up six notches to #12, it’s Peter Cetera with ‘The Glory of Love'” (…more)


Dionne Warwick

I Know I’ll Never Love This Way Again

My Rating 9.22My 2015 Rating8.00Rate This!



Save The Last Dance For Me

My Rating 9.22My 2015 Rating8.00Rate This!



Losing My Religion

My Rating 9.22My 2015 Rating9.00Rate This!




My Rating 9.23My 2015 Rating9.00Rate This!


Lionel Richie


My Rating 9.23My 2015 Rating7.00Rate This!


Cyndi Lauper

All Through The Night

My Rating 9.23My 2015 Rating10.00Rate This!


Mitch & Micky

A Kiss at the End of the Rainbow

My Rating 9.24My 2015 Rating7.00Rate This!



Look Away

My Rating 9.24My 2015 Rating8.00Rate This!


Bee Gees

Too Much Heaven

My Rating 9.25My 2015 Rating8.00Rate This!


Duran Duran

Come Undone

My Rating 9.25My 2015 Rating9.00Rate This!

In the oughts, I operated the Shoutcast streaming station “Toastie Radio – Love Songs and More”. I’d be excited when there might be some 40 or so concurrent users around the world and people from far-flung places would sign the guestbook. The guestbook, yes. But I had had the goal of making a fully functional website with lots of PHP and mySQL programming. My vision never materialized. And I realized a lot of the listeners were bots that were ripping the music off the stream. And I was paying $100/month for a dedicated remote server.

Back to 2011. I was curious what a Top 100 15-20 years later might look like. But it had been so long. I could surely come up with 200 or 300. And then was an available domain. And so I decided my WordPress project would be to countdown my top 379 songs.

One song a day for a little over a year. I’d hit number one on Valentine’s Day 2013. That didn’t quite work out. The bulk of my time was not spent on making an awesome design or on designing some backend database structure that would make for an amazing dynamic data-driven site. It was spent looking up countdown data from obscure websites. And once I started figuring out every country I could find where a song charted, I felt obliged to continue that process. An hour a night was not sustainable.

Not to mention, I constantly lacked the confidence to post these sappy, schlocky ballads. Did I REALLY still like all of these Air Supply songs? I just wouldn’t be in the mood to deal with the question. I’ve listened to a lot of different music in the past 3-4 years, and my taste for sentimentality has dulled significantly. It’s hard to be motivated to post about songs I care nothing about and may be embarrassed to admit liking.

Well, I didn’t intend for this to be a recap of the history of the Top 379. It’s just a recap of the last 10 songs. Now that I’m under a hundred songs to go, I can see an end in sight…somewhere. I feel a need to finish this out, even if there is little interest from anyone including myself to persist. Frankly, I don’t even want to hear half the songs remaining in the countdown, though some of that may be a reflection of my current null-pointer relationship status. (Don’t ask what that means).

So…88 songs to go. Maybe if I can go through two a week, I’ll be done by the end of the year, or next Valentine’s Day.

If you can’t stand the heat

I’m the one person who does not get excited to find 72-degree temperatures in early February. I do not not like it one bit. In North Carolina, I’m lucky to get perhaps four straight weeks of temps below 60. Spring and summer can encroach at any time. I love the few nights a year when it dips into the teens. It’s invigorating. I’m a fan of the cool air, in general. 62 degrees. That’s perfect. But 72, in February? Ugh.

Why am I such a loner when it comes to my weather preferences?

Body image issues. For years, I was overweight, with my enlarged polycystic kidneys giving me the appearance of man expected twins Colder temps mean the ability to cover up the body in oversized shirts and sweaters and coats. Warmer temps mean exposing yourself. And if you see yourself in a grotesque light, this is awful.

Sweat. I’m a hairy guy. I sweat a lot. Warm temps, more sweat. Gross, especially for an perpetually out-of-shape guy. Even when it’s only 72 degrees, I’m sweating. Heck, if it’s 50 degrees, and I’m wearing a coat, and the sun is out, I’m sweating.

Immunosuppressants. While I’m hard-pressed to find any evidence now when I Google for it, I was told following my kidney transplant that my Prograf might make me experience the environment as warmer than the average person experience. A 70-degree living room feels like 80. A 74-degree office feels like 84. A cool summer day in the low 80s feels like the low 90s. Etc. Today, with the sun beaming down, is already uncomfortable.

Skin cancer! Related to the above, immunosuppressants put me at higher risk for skin cancer. I’m already so moley. I have no desire to wear bee-keeper attire to keep out the sun. If I wear long sleeves, I’m going to sweat. I get scoffed out when I say I don’t like the beach. Really, I love the idea of the beach, but it’s a horrible place for me to spend more than few minutes.

It’s depressing. What?  You’re thinking, I thought the short days of winter were responsible for depressed moods. For most, sure. For me, the warm temps are a stark reminder of the passage of time. Stuff growing out of the ground? Holy shit, please, no, not yet, too soon! I’ve got lot of life to get right and not enough time to do it. No springtime temperatures yet, please!

So when you exclaim what a gorgeous day it is, and I shrug, this is why.

The fear of giving voice

Today I had I’ve had two disturbing internet experiences, by which, I mean, I came upon two stories that paralyzed me. By which, I mean, I had powerful emotional reactions to them and desperately wanted to take action, but I couldn’t do anything. I could easily state what the gists of those stories are, but that would be besides the point I’m getting at.

General gists. In one case, a satirical website managed to offend my sensibilities for perhaps the first time. I found its post sickeningly disturbing. They cross the bounds of good taste all the time, and I usually an quite entertained. Not this time. I was going to post a comment but saw that those who found the post amusing were a despicable lot. I couldn’t bring myself to wade into the muck, but I stared at the muck for far too long.

In the other case, a friend posted a link to a commentary that was sickeningly disturbing, in both its content and because it was so spot-on. To me, this was eye-opening and the epitome of the type of content you might feel compelled to share because you’re sure a lot of people haven’t thought about it. But I did nothing other than sit ostracized for 15 minutes. I think I felt ashamed knowing that I’d simply be sharing a link and doing nothing else. I’m great at expressing outrage but doing nothing to make the world a better place.

The point is, I’m hypersensitive to everything going on around me, I think it would be useful to give voice to at least a small percentage of the feelings that stir and spin and careen out of control, but I don’t do it.