Posts in the General Category

Playlist Wishes

Published 1 year, 1 month past

Last week I published a CSS Wish List, which reminded me I have another wish list rattling around in my head, and I’d like to throw out into the world.  This one is for an MP3 player in the vein of WinAmp or Apple Music, but with slightly more DJ-like capabilities in its playlists.

To wit:

  • The ability to set the playback volume for a track in a playlist.  Right now, if I adjust the playback volume of a track to match the others on a playlist, I’m changing its volume in every context.  Let’s say I bump up the volume setting on Yes’s “Leave It” so it matches Army of Anyone’s “Leave It”.  Now, if I go back to play 90215, which is the Yes album containing their “Leave It”, that one track will be way louder than the rest of the album.  This is honestly ridiculous, and it ought to be easy to fix.  Just let me say “on this playlist, play this track at this volume”.  And no, I don’t want some automagic “volume stabilizer” to try to do it for me, because they’re never quite right.  They’re the autocorrect of autotuning.
  • The ability to define, to the millisecond, how much two successive tracks in a playlist overlap.  This is useful when trying to mix two songs so the beat of one plays off against the beat of the other, so you get a smoothly bumpin’ segue.  Ideally, you would do this by click/tap-dragging waveform visualizations of the two tracks, in order to be able to match up (or offset) the beat-peaks, and quickly play just the overlap (maybe with a few extra seconds to either side).
  • The ability to trim tracks in a playlist.  This is closely related to the previous wish, but here, you could trim off the silent bit at the beginning or end of a track when it’s played in the playlist you’re building.  When it’s in the context of its source album, the silences are left intact.  This could also be used to trim off actual sound, in case you wanted to start a verse in or something, but the primary use case would be saying “for this track in this playlist, skip the half-second of silence”.  Again, being able to work with waveform visualizers would help here.
  • The ability to define the duration of fade-ins and fade-outs for each track in a playlist.  Maybe, paired with the previous wish for overlap duration, I want to be able to fade one song out and the next song in during the overlap period.  Or maybe for only part of the overlap, or for longer than the period of overlap, or even when there is no overlap.  I know you can set crossfade durations in apps like Apple’s Music, but they’re global and that’s not okay.  Sometimes you want to say “no crossfades on this playlist except for these two segues, one of which is 5 seconds long and the other of which is 2.7 seconds”.
  • The ability to play back these playlists on my mobile device (iPhone, Android phone, whatever).  On desktop too, sure, but the primary use case here is on mobile: a carefully-made woodshop playlist, or a workout playlist, or whatever.
  • If I’m really dreaming, I’d also like to have this supported by all music apps, so I could port playlists from one app to another.  Having all this supported in some kind of streaming service, so I could allow other people to listen to my playlists with relatively ease, would be even more incredible.

To reiterate: those would all be things applied on a per-playlist basis.  The tracks would sound within their source albums as they were produced to sound, but could be audibly modified for playlist purposes in a non-destructive way.

I’ve occasionally done stuff like this in Audacity, which works okay, but it does mean I have to import all the tracks, decide where to set the track break during overlaps, and then render them into new tracks, essentially creating copies of the songs with new waveforms and maybe parts of other songs mixed in at the beginning or end.

That all seems wasteful when this stuff could probably be expressed using simple strings of text within a playlist file.  I mean, the UI for the playlist editing could be all graphical and cool and Audacity-like (or better), but the actual data could be represented in just a few bytes of text.  And maybe this is all possible in an application like Logic Pro — I wouldn’t know, having never used it — but it shouldn’t require a $300 piece of software to make these things possible.

Maybe this is something that would only appeal to old farts like me, them what made mixtapes when they were created using a dual-deck player using actual magnetic tapes.  But I bet some of the young’uns would find it fun and interesting as well.


Breaking Silence

Published 5 years, 3 days past

So it’s been (checks watch) half a year since I last blogged, yeah, okay, been a while.  I took a break, not that you would’ve been able to tell from the sporadic nature of updates before I did so, but a break I took nonetheless.  Well, break’s over.

One of things I plan to do is fill in a post I missed writing at the beginning of December: the 25th anniversary of my working with the web.  I’ll tell the story in that post, but suffice to say it involves a laptop, a printout of the HTML specification, Microsoft Word 5.1a, a snagged Usenet post, and Mystery Science Theater 3000.  Keep circulating the tags!

Before that happens, I’ll be posting a review of the return of a very old, very faithful assistant.  I also have an article coming on a site where I’ve never been published before, so that’s exciting — look for an announcement here as soon as it’s public.  Stay tuned!


GDPR Compliance Notice

Published 5 years, 9 months past

Hi there!  This is a statement regarding this web site and the data associated with it as compared to the GDPR.  You might think this is ridiculous, but as my site is at least somewhat business-related — it promotes my work, invites people to contact me for consulting or speaking engagements, and the like — here we are.

So:

  • Meyerweb does not set any cookies in your browser, nor does it track you.  This has always been the case, except for a brief period in which I enabled Jetpack to do something or other and then later discovered it was pulling in… other things.  I disabled it immediately, and have no intention of ever enabling it again.
  • Meyerweb’s web host keeps copies of the server’s access logs, which contain the IP address of the device you use to access meyerweb.  It does not, to the best of my knowledge, record any other personally identifying information, unless you hacked your browser’s UA string to contain such information.  Then it will be in the server access logs, and probably next to impossible to get out.
  • As an anti-spam measure, commenters have always been required to supply an email address in order to comment.  Optionally, they may supply a name and URL.  If you have commented in the past, whatever information you provided is still stored in a local database, associated with that comment.  If you wish to have that information removed, contact me and I’ll do my best to remove it.  This may also end up with me removing your comment(s), though I will always try to preserve them.
  • If you have enabled the “email me about followup comments” or “email me about new posts” features of the site, those are managed by WordPress.com.  I do not store that information locally, nor do I have access to it in any way.
  • If you wish to have any personal information about you removed from meyerweb, you can always contact me, and I’ll do my best to handle the request as soon as possible.  If you haven’t heard back from me within ten days, please assume the first attempt got spam-canned or buried in the ongoing avalanche that is my inbox, and ping me on Twitter about the silence.  Please don’t use Twitter as a method of first contact about this, since we’ll have to take any conversation about personally identifying information off Twitter and into email anyway.

And I believe that’s it.  If I missed anything, let me know and I’ll update as needed.


Name Suggestion

Published 7 years, 10 months past

I’ve started playing an occasional game with my iPhone, where I type in a word to start a message, and then repeatedly accept whatever autocorrect suggests as the next word.  If I’ve understood the terms correctly, I’m manually accepting iOS’s Markov chain output.

I’m inclined to post the results to a Twitter account, sort of like I did for Excuse of the Day, but I’m stuck on the most prosaic of roadblocks: I’m having trouble thinking of a good name for it.  (Here, ‘autosuggest’ will not help me.)  Anyone have a winning name they’re willing to contribute?  Full credit to the winner in the Twitter bio, not to mention here, plus a percentage of the multi-million-dollar royalties from the inevitable book and movie deals.

Update 10 May 16: thanks to everyone who made (auto)suggestions!  The final winner is @markovmywords, as suggested by Jonathan Schofield (@schofeld).


Rebecca’s Boardwalk

Published 8 years, 5 months past

One month from today is the first-ever Rebecca’s Boardwalk, a fundraiser in support of Rebecca’s Gift.  It’s a family-friendly afternoon of carnival games with actual prizes to be won, a facepaint and temporary tattoo booth (many thanks to Tattly for their generous support!), indoor mini-golf and bounce houses, boardwalk food, and a pretty great silent auction.  We’ll have everything from gift-card grab bags to artisanal meat parties to signed shooting scripts from The Walking Dead up for bid!

All of the proceeds will go to fund the mission of Rebecca’s Gift, which is to provide healing family vacations after the death of a child.  The organization has already raised enough to assist at least two families in 2016.  We’d very much appreciate your support in helping us lend a helping hand to more families in desperate need of time to reconnect, rebuild, and relax.  It’s one of the very few organizations we know of that supports families after a child’s death, as opposed to before.  This is something I touched on in a piece I wrote for Natural Papa back in September, in conjunction with St. Baldrick’s.  It’s something Kat and our friend Karla are determined to do something about, and I’m honored to support their efforts.

I very much hope you can join us for Rebecca’s Boardwalk, or if not, support the event via a sponsorship.  Rebecca loved travel and boardwalks in particular, and we can’t think of a better way to celebrate her life while striving to help others heal as best we can.


(Side note for the web folks in the audience: the Rebecca’s Gift site in general, and the event page in particular, makes use of flexbox for simple layout.  Just in case you were looking for a public deployment example.)


Rebecca’s Gift

Published 8 years, 10 months past

Yesterday was the eleven-month anniversary of Rebecca’s death.  I’ve been trying not to focus on those monthly anniversaries, but this one stuck out for me.  Because in a month — thirty days, as I write this — it will be both the first anniversary of her death, and the day she would have turned seven.

I haven’t really written directly about the grieving process since late March, because it’s been in a stable pattern and nothing has really changed.  Kat and I still grapple on occasion with the question of whether this is a nightmare or a post-dream.  Are we having a nightmare that our daughter died, and we’ll finally wake up; or did we dream that we had a middle daughter, and have since woken up?  Of course neither is true.  She came to us, and grew, and died.  It’s just so hard to come to peace or acceptance or even just comprehension that the mind hunts for an escape hatch, some way of making some part of it not true.

Don’t take this as intimation that we spend every waking second in agony, paralyzed by grief and shock.  Those periods of irreality and escape-seeking are just that: periods of time.  Not all the time.  Most of each day, I function normally, and honestly don’t think about what happened.  There’s work to do, projects to start or complete, errands to run, books to read, kids to raise.  These things all take precedence in their own ways, and Kat and I are both committed to being as present as possible in our lives.  We don’t deny what happened, but we don’t fetishize it, either.  Life cannot stop because a life stopped.  It’s not how either of us could live, even for ourselves, and we have more than ourselves to consider.

Some days are more difficult than others, of course, but for whom is that not true?  We all get through life one day at a time.

One of the things that has really helped us as a family, and Kat and me as parents, has been to go on family vacations.  Some went better than others. A short trip we took to Amish Country in late July of 2014 was probably too soon.  Our annual August trip to New Jersey, coming as it did on the first anniversary of Rebecca falling ill, was both helpful and difficult; and maybe the difficulty was part of what made it helpful.  The trip we took to Gatlinburg/Pigeon Forge just after Christmas was just about right, in terms of timing, and was definitely a huge boost to us emotionally.

These escapes from the normal routine of home and calendar, where we could just concentrate on being together and doing things together and not having any particular demands on us, were incredibly helpful to the healing process.  Friends told us after our trips that we seemed more relaxed, less haunted.  The time we spent together helped us figure out how to be a new family, without all the distractions and chores of everyday life.

The other thing that Kat and I in particular appreciated about our trips is how we could make Carolyn and Joshua the center of the experience.  When Rebecca was being treated, and then when she was dying, we did what we could to make Carolyn and Joshua feel not marginalized, but there was no way to avoid it.  Mommy and Daddy went on a two-month trip to Philadelphia with Rebecca, not them.  We went with her to the hospital, not them.  We worried about her temperature and bruising level and energy, not theirs.  People made banners and posters and cards and healing stars for Rebecca, not them.  Friends and family came to see us because of Rebecca’s cancer, not because of them.  Make-A-Wish granted Rebecca’s wish, not theirs.  People came to pay respects to the memory of Rebecca’s life, not the ongoing reality of their lives.

How could they not feel marginalized?

Kat and I worried about this all the way through, guided to some degree by the insights I had from my own childhood, and tried to counter it as best we could.  Kat went on theater dates with Carolyn, and lunch dates with Joshua.  I played games they liked, and took them to parties.  Regardless, they knew what weighed most on our minds, and we never tried to deceive them or tell them they were wrong.

But those trips, after Rebecca was dead, could be all about them.  They were central again.  We went to the Jersey shore, and did old favorite activities as well as tried new things.  We went to Disney and granted their wishes as best we could, getting them to special character events and letting them stay up to watch the fireworks.  We took them to the museums and shops and ski slopes in Gatlinburg and Pigeon Forge, picking the things they wanted to try out.  We made them feel special again.

You can’t imagine how great a gift that is, both for them and for us, unless you’ve been through this yourself.

That’s a gift that Kat and our good friend Karla want to give to families who are going through this.

That’s why, a week ago today, they launched Rebecca’s Gift, a 501(c)(3) non-profit dedicated to providing healing family vacations after the death of a child.  Rebecca’s Gift is accepting donations in support of that mission, and has its first fundraiser scheduled for this November.

Their goal is to raise enough money to send two or three families on healing trips in the summer of 2016; that is, summer of next year.  At first, the scope of Rebecca’s Gift will be narrow by necessity: eligible families will be those who had a child die of cancer between six and 24 months before the trip is taken, and who have surviving children age 18 or younger.  Rebecca’s Gift will work with partner organizations to identify families who need this support.  They don’t plan to take on anything more ambitious than that to start, in order to make sure those first trips are everything they can be.

As for the future, we’ll see.  The hope is that this will one day be open to more than a few families per year, open to families whose child died from something other than cancer, and perhaps open to parents who have no other children.  If Rebecca’s Gift grows strong enough to do those things, then I feel confident they will.  Those are all questions for the future.  For now, they’re focused on making sure they can help families who need the same time away to reconnect, rebuild, and relax.  Even if it’s just for a few days.

If you can help, I know your support will be welcome.


Gradient List Bullets

Published 9 years, 1 month past

CSS gradients are kind of fun.  I know, they’re a little clumsy at first, but I’ve found that with just a little practice, you can hand-author them without more than a brief refresher course on exactly how to structure the first part.  At least for me, as long as I can get the setup right, the color stops are a breeze.

As I’ve said in previous posts, gradients are images, just like a PNG or SVG or whatever.  That’s why you can write them directly into background properties and have them display.  The thing is, though, that you can use them anywhere a property accepts an image value.  Like, say, list-item-image and list-item.

Yes, that’s right: you can define gradient list bullets.  A test page I set up last week (and the screenshot shown nearby) demonstrates a few different possibilities, but there are so many more.

There are two major limitations I can see: one, you can’t layer multiple gradients together, the way you can with backgrounds.  You get one gradient image, and that’s it.  Two, this isn’t supported in Firefox, not even the nightly builds.  Every other desktop browser appears to support this, usually at least a couple of versions back, and a fair number of mobile browsers as well.  A bug has been filed by Boris — thanks, Boris! — so hopefully this limitation will fall away soon.

Fortunately, this is a textbook case of progressive enhancement.  You set the basic bullet style, then define something snazzier for browsers that can handle it (which is, again, most of them).  If your design somehow critically depends on the appearance of the list bullets, then you’ll need to use another approach.  Also, rethink your design.

A third limitation, one not nearly so momentous, is that the list bullets are kind of small as compared to the list items’ font size in most browsers, but a bit bigger in others (as Ana Tudor pointed out; thanks, Ana!).  So if you’re going to express yourself with list bullets, be bold and not too complex, and realize there will be some sizing differences across browsers.

A fourth limitation is performance.  If you make your gradients too complex, especially if they’re radial gradients, you may degrade the user experience, particularly on mobile.  As always, use your new-found power responsibly.  Thank you.


Six Months, Ten Seconds

Published 9 years, 3 months past

Six months ago today, our child died in our arms.

I still have trouble believing this.  Kat and I both still have trouble.  But only on occasion, these days, and not for long.  As someone once said, when it comes to the death of a loved one, you don’t get over it, but you do, eventually, if you allow yourself, get used to it.  We’re slowly getting used to it.

Half a year.  It seems like it’s been forever, as if uncountable years have passed since Rebecca died, and yet there are still so many traces and impressions of her that sometimes it seems as if she was only just here.  We struggle, sometimes, to decide what to preserve and what to let go.  We had to force ourselves to put the few boxes of mementoes we’ve kept into storage this past week.  It felt like we were consigning Rebecca to the attic, which doesn’t seem like much when you think about it, but it was in some ways as difficult as consigning her remains to the earth.  For that matter, we were recently making some changes to the family picture wall, and for each picture of Rebecca, we had to ask if it should stay up or come down.  None of those choices were easy, even after half a year.

Of course, half a year is less time than elapsed between her diagnosis and her death.  I remember so much, and so little, of those months.  But this is unremarkable, given that we remember so little of our regular lives.  (Think about yesterday, or of last Friday.  How much of the day do you actually remember?  How many of those several thousand minutes can you no longer recall with clarity?  Now, what else have you forgotten?)

We have thousands upon thousands of images of Rebecca; just in my iPhoto library alone, there are 10,188 photos tagged with her name, 1,624 of which I flagged or rated five stars (or both), 785 of which are on Flickr.  Kat has thousands more, as do so many of our friends and relatives.  Those pictures can take us back, clarify our memories, or remind us of some aspect of her personality.  Myriad facets of a life so short, and yet so fully lived.

Videos are far more rare — the Flickr album has just three — mostly because I greatly dislike shooting video.  In the end, it didn’t matter.  Our friend Jessica captured a video that is the quintessential Rebecca, a near-perfect distillation of Rebecca’s personality in just under ten seconds — all her sass ‘n’ spice, and all her sweetness too.


(Full transcript available at flickr.com.)

Rebecca Alison Meyer, ladies and gentlemen.  How I wish you could have known her as we did.

I laugh every time I watch that video.  Every time.


Browse the Archive

Earlier Entries