I’ve been wanting to upgrade the images on this site to HiDPI versions for quite a while now—probably just after I bought my Retina iPad. Or maybe it was the Retina iPhone. Certainly by the time I started using my Retina MacBook Pro. Doesn’t matter. This post is just a place to play with some images I need online for other reasons anyway.
I think those
img tags have the correct
srcset to follow the proposed spec. Now, since no browsers yet implement the spec, I need to grab a polyfill and include it. It’s also possible the
doctype specified won’t work—can you have an XHTML
doctype and get away with HTML5 features? To be continued…
Update Feb 3: grabbed a polyfill but quickly realized the
-webkit-transform: scale(0.5) wasn’t working the way it should. Because I have a
width set, the resulting image was only 200px wide—the browser had already scaled the original 800px image down to 400px, so adding another scaling factor takes it too far. There is a pull request that seems to have fixed the problem by choosing not to transform the image if dimensions are already set.
It also sounds like the original polyfill will break on Internet Explorer, due to its unguarded use of
window.addEventListener, but this should also be fixed by the pull request. Hopefully it gets incorporated quickly into the mainline. Next step—test outside Chrome/Safari/Firefox.
For some time now I’ve been using Git to manage the files that make up PlanetHolt.com. Prior to switching to git, I was using Mercurial (hg), mainly because we use that at work and as a result I am significantly more familiar with its syntax and general workflow. Because Drupal.org uses git to manage its repositories, I decided to switch to make it easier to pull in updates. I am by no means a git expert, but things are coming along. I thought it might be useful to document my workflow.
I’ve been experimenting with virtualization technologies a lot lately, and after a conversation with my friend Ken, I decided that it might be a good idea to lay out some explicit goals.
While these goals are all interrelated to a degree, in my mind the first two and last two form natural pairs. While everyone agrees we’d avoid problems by using the same software locally that we do in production, if doing so is painful no one will use it except to debug problems when they arise. Innovation is tough in a space that isn’t well understood.
So far I’ve used VMWare Player and CentOS with Kickstarter to create base images and a local repository containing the software we’re using. I need to spend more time disseminating knowledge, though, because not many of my teammates are aware of my efforts. I think this would start to address the first goal but I’m not sure it’s easy enough for regular use.
On a different track, I’ve also managed to get OpenStack Essex set up on a workstation in our area. Hopefully by next week I’ll be able to demonstrate running our application in my little private cloud. PuppetLabs is hosting a webinar this afternoon that I hope proves useful as well, because I’ve found Puppet to be an extremely useful tool and I hope to understand how it fits into an elastic world.
I am excited about OpenStack in particular. It’s not clear to me yet whether it’s ready for prime time, so to speak, but playing with it so far reminds me of using Linux back in the 1.x kernel days. Huge promise, frustrating at times, fun to play with and to see what one can build.
I’ve been meaning to frame and hang a print I brought back from India, and I finally got around to doing it. Tom at Frame Works, a shop in my neighborhood, did a great job with the framing. I haven't hung it yet—I need to figure out how to display it with the rest of the handicrafts I brought back—but it is sitting proudly on my mantle until I do.
This is actually the second print I brought back. I had one from my trip there in 2009 but I’ve lost it. For some reason I suspect it rolled under the seat of my Chrysler 300C and eventually became part of the trade. I do really like this one, so maybe I’ll try to get another print next time I’m in Pune.
I did hang this Smashing Pumpkins poster above the stairway to my basement tonight. I’m a little proud of myself at the moment because I was fairly sure I was going to kill myself doing it—I have a wee bit of acrophobia, and I was using a ladder that wasn’t quite rated for my weight class, precariously situated on the stairs. Definitely could have used Tom or Nathan’s agility on high, but the job got done.
I had Frame Works put this one together for me too, but it’s a considerably lower quality frame. They were nice enough to frame and mat it even though I bought the frame elsewhere. I’m sure I’ll have more work for them, though, so hopefully that makes up for it!
It took me a bit of searching to figure out how to get
npm working behind the proxy server at work. After getting
registry.npmjs.org added to the proxy’s list of URLs accessible without authentication,
npm still didn’t work. The following commands seemed to have resolved it, at the cost of using HTTP instead of HTTPS.
Some news about Space Shuttle Endeavour reminded me that while I blogged about my first attempt at seeing its last launch back in April, I never wrote about my trip with Kaitlin to see it actually launch. So, despite the long delay, here’s what I remember.
We traveled to Florida on May 14, 2011, in preparation for the launch on May 16, and returned home on May 18.
While waiting at the airport in Moline to begin our trip, we heard over the PA, “Will Kaitlin Holt please report to the gate agent as soon as possible.” We had booked business class tickets with AirTran because they are refundable (Remember, the launch date of a space shuttle is likely to shift, so one’s travel plans need to be flexible.). The morning of the trip, when we were certain we were going, Katie canceled her business class ticket and bought a coach fare. We were thus concerned that AirTran had detected the change and was going to do something about it.
Luckily the mother of one of Katie’s classmates had seen our names on the passenger list, noticed my flying in business and Katie in coach, and upgraded her for free. The trip, therefore, began on a high note. We both enjoyed Screwdriver and Bloody Mary cocktails en route. When we landed in Orlando, there was some weather-related delay and we had to sit on the tarmac for some time. Katie had to ask special permission of the flight attendants to get up and use the restroom. They gave us a hard time about the cocktails, but it wasn't a problem. After she went, it opened the floodgates, so to speak, as a bunch other passengers did the same.
After collecting our rental car and getting our bearings, we decided to get dinner. I decided to treat Katie to a steak dinner at Ruth’s Chris, but first we stopped at Walmart to buy some things for the launch and the beach. We both bought chairs, which we used at the launch and at the beach, and I think I bought a tent (which I ended up returning before we flew home). Kaitlin bought a boogie board. We had a cooler so we had ice packs, deli meat for sandwiches, etc.
January in the Midwest is generally a cold, dreary affair. Some of my friends decided to go to the Sunset Beach resort in Montego Bay, Jamaica for a week, and invited me to join them. It was a blast and I am very happy to have gone. Not least because it snowed just before we left Des Moines, and it was about 85°F every day in Montego Bay. My photos from the trip are online in the gallery.
Jason and Elizabeth were the masterminds behind the trip, so they really picked the resort and the dates. Some of Jason’s family came too, but I spent most of my time with Remo, Kortni, Nate, Jen, Jason, Elizabeth, Jared, and Julia. The last four and I traveled together, meeting the rest of the group on the island.
We left Des Moines around 7:00pm on January 15, and drove to Kansas City (Flights out of Des Moines are unreasonably expensive.), where we stayed overnight at Jason’s brother’s house. After a fairly uneventful drive—although we did see a car pass us and then immediately get pulled over—we hit the sack and got ready for our 6:30am flight.
After connecting through Atlanta—and a few in-flight Bloody Marys later—we touched down in Montego Bay. The rest of the group had all booked their tickets through a travel agency, who had arranged for transfers to the resort. I booked mine separately, but after paying the driver $15, I was on the bus. We arrived at Sunset Beach around 4:30 or so, and Nate had fruity drinks waiting for us in the lobby.
That first night was a blur. Between the exhaustion from our long day of travels and our exuberance at the all-inclusive nature of the drinks, we had a good time. I think I lasted until 11 or so before I had to call it a night.
The rest of the days were mostly the same. Wake up around 9:30 to get breakfast before the buffet line closed at 10. Head back upstairs for a shower and a nap. Put on swimsuit, head to beach. Enjoy the beautiful weather, drink a few cocktails, play some beach volleyball, switch from beach to swim-up bar, etc. Ya mon!
An apparent defect in how IE handled our OAuth consent flow at work turned out to be an interesting difference in how Firefox and IE (Firefox 6 and IE8, in this case) handle content loaded via a 302 HTTP response.
After one of our UI developers beautified our OAuth consent page (where the user authorizes a client application to use data on his or her behalf), one of our testers pointed out that the overall flow stopped working in Internet Explorer. It still worked in Firefox, though, and she told us that if she permanently authorized the client in Firefox, the flow still worked in Internet Explorer.
We allow OAuth clients to provide an image that will be displayed when we ask users for consent. However, it’s not required, and so occasionally on the consent page the
IMG tag would have an empty
<img src="" alt="client Logo"/>.
We've been in San Diego for a couple days and have been enjoying the beaches (especially the surf). Tom picked me up from the airport yesterday, and after stopping for lunch (Chicago and New York style pizza) and to change at the hotel, we met up with the rest of the family at Torrey Pines State Beach.