DP gets a CSS makeover

Today we rolled out a sweeping code release at Distributed Proofreaders that standardizes our CSS and moves us to HTML5. Along the way we worked to have a consistent look-and-feel across the entire site.

The DP codebase has grown very organically over the years, starting out in 2000 when Cascading Style Sheets (CSS) were young and browser support for CSS was very poor. Since that time developers have added new code and styling for code in a variety of ways. CSS, and browser support for it, has come a long ways in 17 years and it was past time to get a common look-and-feel using modern CSS.

Some of our design goals:

  • Modern HTML & CSS
    We did not design for specific browsers, but rather designed for modern standards, specifically HTML5 and CSS3. HTML5 is the future and is largely backwards compatible with HTML4.x. Most of our pages should now validate cleanly against HTML5.
  • Pure-CSS for themes
    Moving to a pure-CSS system for themes, without theme-specific graphics, makes them immensely easier to create and update. Doing so means we don’t have to create or modify image files when working with themes.
  • Site-wide consistency
    The site has grown very organically over the past 17 years with each developer adding their own layout, table styles, etc. We made some subtle, and some not-so-subtle, changes to make pages across the site more consistent.
  • Consistent CSS
    Using consistent CSS across the site code allows developers to re-use components easily and makes it easier for users to adjust CSS browser-side for accessibility if necessary.
  • No (or little) per-page CSS
    Instead of embedding CSS styles directly in a page, we want to have the CSS in common files. This allows for better style re-use and gets us on the path to supporting Content Security Policies.

As part of this effort we created a Style Design Philosophy document to discuss what we were working towards as well as a Style Demo page.

Despite the removal of magic quotes and the mysqli changes being far more invasive, broad-reaching, and risky, the CSS work is the code deployment I’m most worried about. Not because I think we did anything wrong or I’m worried about how it will render in browsers1, but because users hate change, and this roll-out is full of change they can see. Some subtle, some not so subtle.

I expect to be fielding a wide range of “why did X change!?” and “I don’t like the way Y looks!” over the next few weeks. I can only hope these are intermixed with some appreciative comments as well to balance out the criticism.

1 IE6 being the known exception that we will just live with.

Smile more and donate to a charity

If you shop at Amazon and are not using AmazonSmile, your favorite non-profit is missing out on money!

For the past 4 years, Amazon has donated millions of dollars to charities by having shoppers go through the AmazonSmile website. You, the buyer, shop just as you normally would and Amazon gives 0.5% of your purchase to the non-profit of your choice. It costs you, the buyer, absolutely nothing. The only catch is that you have to purchase through the AmazonSmile website.

Remembering to go to the AmazonSmile website is the hardest part of the whole endeavor. Luckily there are some browser plugins that will do that redirection for you:

If you shop at Amazon I encourage you to install a plugin to make sure you are buying through AmazonSmile and helping, even if it’s just a little, a non-profit you love.

My donations go to Distributed Proofreaders, you can select them for your charity on AmazonSmile using this link.

To be clear, I’m not encouraging anyone to shop at Amazon who isn’t already (shop at local merchants whenever possible!) but if you are shopping there, I encourage you to use AmazonSmile.

Vegan Chuy’s Creamy Jalapeño Dip

One of the most frustrating things about becoming lactose intolerant not being able to eat some of the delicious foods that I once could. One of those is the Creamy Jalapeño Dip at Chuy’s. I liked the stuff so much that I sought out and tweaked a copy-cat recipe a decade ago. It’s one thing to substitute a vegan sour cream in a recipe that calls for 2T of the stuff, but it’s another thing entirely to substitute vegan milk-like-products in a recipe that is almost entirely dairy. I had essentially given up hope of being able to find something as a base for this recipe.

Enter Isa Does It by Isa Moskowitz. We stumbled across this cookbook in Elliot Bay Books, a local bookstore, and despite having already eaten dinner I was suddenly ravenous.  Every single recipe we’ve tried has been delicious. And the best part is that it’s all vegan which means that both Daniel and I can eat everything in it. One of Isa’s secret ingredients is using cashew cream in place of dairy in several recipes, which was an entirely new idea to me. One evening we made her Nirvana Enchilada Casserole (p 225) and after tasting the white sauce I knew I had found the base for my vegan Chuy’s Creamy Jalapeño Dip.

That left the little problem of ranch dressing. Ranch dressing itself is, of course, full of dairy (ranch dressing dip mix even has whey in it). While you can find vegan ranch dressing, I was wary of using it as a major component in the dip.

Enter Daniel and his copy of The Joy of cooking by Irma S. Rombauer. This kitchen stalwart, first published in 1936, is full of odds and ends, including a ranch dressing recipe (p 241). The recipe calls for dairy, but I’d already solved that problem and just needed the list and ratio of spices.

This weekend Daniel and I did some very tasty experimenting and have concocted an initial pass at a vegan version of the recipe. It’s not perfect, but it’s pretty close!

Vegan Chuy’s Creamy Jalapeño Dip

This will make ~3c of dip and take at least 2 hours to make but most of that time is soaking the cashews. It’s best served chilled, so allot some time for that too.

  • 1 1/2c raw cashews, unsalted and not roasted
  • 1T cornstarch
  • 3/4t salt (for the “sour cream”)
  • 1c 2T water (plus more for the initial soaking)
  • 4oz can hatch green chilies, drained
  • 4oz can sliced jalapeños, drained
  • 2t dried chives
  • 6T fresh cilantro (or 2t dried cilantro)
  • 1/4c lemon juice
  • 1/4t course ground black pepper
  • 3/4t salt (for the dip)
  • 1T garlic-infused olive oil (or 2 garlic cloves)

Start out by making the “sour cream” – this is a 2x quantity of Isa’s white sauce from her Nirvana Enchilada Casserole recipe: Soak the cashews for at least 2 hours in enough water to cover them, longer won’t hurt. Don’t skip the soaking or your sour cream will be gritty – eww! Drain the cashews and put them into a blender. Add the cornstarch, 3/4t salt, and 1c + 2T water. Blend until smooth which will take several minutes.

Add in the other ingredients and blend well. Adjust to taste. Chill in the fridge, preferably overnight.

Serve cold with warm chips and try not to eat all of it at one sitting!

Celebrating 16 Years of Gayness

Today is National Coming Out Day and I’m celebrating 16 years of gayness.

I came out of the closet in 2001 at the age of 22 after being mired in self-loathing for years due to my fundamentalist religious upbringing. When I came out I was very fortunate to be living in a progressive city (keep Austin weird, y’all), have a solid job with an LGBT-friendly company (thank you IBM!), not be financially dependent upon my parents in any way, and have friends who accepted me with love1.

Coming out of the closet and admitting to myself, and my friends, that I am gay was a turning point in my life. It’s not been perfect, but I’ve never been happier to be able to live my authentic life at home and at work.

There those among us who think we don’t need National Coming Out Day, that by intentionally coming out and celebrating it we are preventing gayness from being fully normalized and accepted in society. To that I reply: check your privilege.2

Coming out risks rejection from loved ones and peers. Many LGBTQ-folks are financially dependent upon their parents and risk being kicked out of their homes; a disproportionate number of homeless youth are LGBTQ. In numerous states, if you come out to your employer they can fire you. For many people there are real, tangible risks to living an authentic life.

For those of us who have a preponderance of privilege, I believe we have a moral responsibility to come out. Coming out establishes an expectation of acceptance, similar to our expectations of justice and liberty. Coming out, and being out, help creates that normalcy of gayness that will ultimately reduce National Coming Out Day to a mere Hallmark Holiday, with as much emotional and life-changing consequences as getting a greeting card.

Until then, if you can, I encourage you to be very visibly out. Let’s help create those places for fellow LGBTQ-folks to be safe and help blaze the trail of acceptance that those before us started.

Thanks to my friend Jason Lucas for helping me coalesce my thoughts on this.


1 The second person I came out to was a woman I had worked with for just a few short months: Jonobie Ford. Seventeen years later she remains my best friend.

2 Alternatively: “you try growing up in a small town in the south in a state where it’s legal to be fired for being gay in a fundamentalist conservative Republican family knowing you are going to hell and then tell me we don’t need this”, but “check your privilege” is more succinct.

(Almost) Chuy’s Creamy Jalapeño Dip

As an Austin transplant living in Seattle, one of the things I miss the most is Chuy’s. Nothing comes close to their chips, salsa, and creamy jalapeño dip. At least 10 years ago I searched to find a recipe and stumbled across this copycat recipe which, for reasons totally unknown, includes tomatoes. Anyone who’s ever eaten it can tell you there are no tomatoes in sight.

Using that as a starting point, I created this version which, while not perfect, is a pretty good rendition of this taste of Austin.

(Almost) Chuy’s Creamy Japaleño Dip

  • 1/2c sour cream1
  • 1 1/2c ranch dressing
  • 4oz can hatch green chilies, drained
  • 4oz can sliced jalapeños, drained
  • 4 tbsp fresh cilantro
  • 1/2 tsp salt
  • 1/2 tsp garlic
  • splash of lemon juice

Combine all ingredients into blender and puree until smooth. Chill and serve with corn tortilla chips (preferably warm ones).


1 See also my attempt at a vegan version of this recipe!

Get your anti-NRA membership now!

Tired of the NRA buying politicians and stifling discussion about reasonable gun laws? Me too! Wish you could join an organization to help fight them? You can!

Everytown for Gun Safety and the Brady Campaign are two great organizations fighting back against the NRA and trying to enact sane, sensible laws to reduce gun violence in the US. Join them by making a yearly donation as an anti-NRA membership – $40/year is a great place to start.

The NRA boasts a membership of 5 million people with current annual dues of $40/year generating $165 million in dues in 2015. Money they then use to buy politicians. It’s worth noting that not all gun owners are NRA members (roughly 1 in 5 are), but many gun owners support the NRA’s policies.

NRA members are also vocal to their elected officials and we must be too. Contact your state and federal representatives and demand reasonable gun laws – Everytown and the Brady Campaign can help with that.

Imagine what a difference it would make if the 78% of the people in the US who didn’t own a gun got a “membership” in Everytown and demanded sensible gun laws.

 

A Preponderance of Privilege

Despite being gay, I have a preponderance of privilege1.

I am privileged to be a white cis male born in America. I am privileged to come from a loving, caring household. My parents worked very hard while I was growing up and we always had enough quality food on the table. My parents paid for me to go to college and I graduated with no student loans. I am privileged to have a knack with computers, and privileged to have had access to one at a very early age. I am privileged to work in the tech industry and am paid insanely well. And while I work hard at my job, so do many others in many other industries who live paycheck to paycheck. I am privileged to be fully-abeled, have good health, and good health insurance through my company.

I have so much privilege that frankly, it’s embarrassing. I contributed nothing to being white, being male, being from a loving household, having a knack for tech, or being born fully-abled. Throughout the course of my life I’ve used and build upon these things to get where I am today. Doors were opened and opportunities presented to me because of my privilege.

The only aspect of my life where I don’t have privilege is being gay. And still I am privileged in that the thing that makes me part of a minority group is something I can easily hide if I felt my safety was at risk.

Being gay is what helped me see my privilege.

I think until you can identify some area where you don’t have privilege, it’s hard to really grasp what privilege means. It’s much easier to see doors that were closed in front of you for something you can’t change rather than ones opened just because of who you are. It wasn’t until I had to fight for the right to marry the man I loved that I understood that not everyone is playing on the same field.

It’s worth noting that privilege does not denigrate effort. You can work hard for what you’ve achieved with or without privilege, but that doesn’t mean you didn’t start with a leg up on the ladder because of that privilege.

Being privileged is what makes it easier for me to live as an openly gay man.

LGBTQ+ people can be fired simply for being gay in 28 states, yet because of my privilege I was never worried about this when I lived in Texas nor am I concerned about someone not hiring me because I’m gay. My privilege lets me get away with things like this worry-free that others can’t. And I feel that it’s my obligation to use that privilege to be very visibly out as a gay man, both personally and professionally. To advocate for those less privileged in my workplace, be they LGBTQ+, women, people of color, etc.

I consider it my moral obligation to use my privilege to help others with less privilege in any way that I can3, Because I did nothing to earn this privilege myself.

 

1 I know many people get wound around the axle on the word “privilege”. If you are a religiously-inclined person, just substitute “blessed” or “blessings” for privilege. It’s not an exact match but if that helps you with the concept, go for it.2

2 That ruins the alliteration in the title though, so just retitle this post in your head to A Bevy of Blessings.

3 To those of religious backgrounds, this should bring to mind the parable of the faithful servant.