Technology

Making changes to a GitHub PR branch on a fork

A while back, GitHub added a setting for contributors to allow maintainers of a repo to push changes to a pull request branch of their fork. I've been doing a lot more work in GitHub recently and figured I'd document my Git process for handling pull requests where you just want to close up a couple small things in a given time frame and/or the originator isn't very responsive. IMO this makes it much easier to retain the commit history giving credit to the other person but still move existing PRs forward.

The essence of my process is to add their fork as a remote, switch to that branch, do stuff and commit, and then push to it. It's not really a whole lot, but I've found that very specific snippets come in very handy, even if they're short and straight-forward. I also don't like the instructions GitHub gives for making changes to a fork's branch. So, that gives us (using a real recent example):

If you use hub (I don't), I believe you can skip the first command as fetch will add the remote for you if it's not recognized. There's also the popular Git Extras, which has a pr command, but from what I've tested it doesn't use the actual remote branch the PR originates from even if you specify the remote, but rather the pulls/### branch GitHub makes for you. If you use (or decide to write) a Git helper that does the remote adding/fetching/checkout for you (e.g. git pr KZeni/patch-1 or even making it so that git pr ### could detect the remote fork and branch for that PR), let me know!

Standard
Web

helen blog, now at helen.blog!

I have called my blog “helen blog” since the tail end of my Blogger days, and kept the name when I made the switch to WordPress (a very good switch for me, it turns out). It seems fitting that it finally gets to actually live at helen.blog, and I decided to do the right thing and move to HTTPS while I was at it.

.blog is available for “landrush” applications through Automattic, which runs the WordPress.com service. WordPress.com is great, and I keep my WordPress-specific thoughts over there for a number of reasons, but I like running WordPress for myself so I remain a user. It’s humbling, really. The trepidation of hitting the switch on a domain name change, navigating the HTTPS waters – even before getting to the WordPress part, running a site can be hard. And then there’s the WordPress part, which I’m always trying to make better.

I have to thank two tools in particular for making this a relatively easy move (for a developer). First is wp-cli, whose search-replace command saved my sanity. The other is Let’s Encrypt, which makes running my personal site over HTTPS practical. With those, I have to give a shout to this site’s host, SiteGround, which provides wp-cli by default and Let’s Encrypt through cPanel even for shared hosting, making all of this as painless as possible. They also have supported using PHP 7.0 since beta, which combined with this site running nightlies, makes me quite the tester of my own breakage 🙂

Standard
Technology

What’s in my laptop bag

Contents of my laptop bag

I enjoy people’s “what’s in my bag” posts, but almost never see unapologetically feminine tech-oriented ones. So here’s mine! Not everything is in this bag all the time, but most of it is, whether I’m working out of a local coffee shop or flying internationally. There are some other things that make their way into my laptop bag from time to time, like my makeup bag or Bluetooth speaker or shoes (and there is space left for all of that), but those are deliberate decisions, not just a standard carry. With everything in the photo, it’s about 10 pounds.

Roughly going from left to right, top half then bottom half:

  1. Baggalini Alfa laptop tote. Apparently not actually available anymore, but I like almost everything about it and there are similar ones out there. Lots of pockets, holds a surprising amount of stuff (as you can see), short and long straps, fits under an airplane seat, brightly colored lining so I can see my things, structured bottom with feet, and can slide over the handle of a rolling suitcase. Sometimes the back zippers come open while walking (pulls that snap in place would be awesome) and they can rub against clothes, and I don’t particularly like nylon bags, but a leather or fake leather bag of this size would be unusably heavy.
  2. Bags within bags: a cheapo purse organizer and another little bag I got with some makeup samples. Most of the smaller things in the picture go in here, which I can throw into other bags if I need to or take out and put on a table. The smaller bag holds cables and goes inside the organizer.
  3. Uniqlo pocketable long hooded jacket. Weather is unpredictable and I rarely remember umbrellas; this thing is water-repellent and, because it’s long with an adjustable elastic waist, can go over my bag when worn cross-body. The lining of my laptop bag is actually a very similar magenta; it just doesn’t show up in the photo. I did not coordinate them on purpose.
  4. Small notebooks. These frequently come in handy for scribbling down thoughts or sketching ideas, and give the purse organizer more structure. 🙂
  5. Battery packs. The Jetpack one is particularly nice. I will probably get a battery pack that has USB-C at some point and replace the other one, but I like having more than one to account for having to charge them and dealing with multiple devices.
  6. Retractable USB cables with dual micro USB and Lightning ends. Being retractable keeps things neat, and the ability to connect both micro USB and Lightning devices means that I really just need the two even though there are way more than two devices in my bag that need charging.
  7. Portable power strip. USB ports that can provide up to 2.1A, 100V-240V pass-through (the only non-USB type A thing I charge is my laptop, and Apple chargers convert for you), long cable makes awkwardly placed outlets more usable, and stays neat. I am a big fan, and it’s more internationally friendly than the Belkin one a lot of people recommend (which I also have but never carry anymore).
  8. Anker dual USB wall charger. Folding plug, goes up to 2.4A from both ports (especially helpful if I’ve got my/my kid’s not-pictured iPad mini with me).
  9. Apple USB-C wall charger. Maybe someday I’ll jump to a single wall charger for both this and the above.
  10. Apple USB-C charge cable. Important to note that it doesn’t support data transfer.
  11. Karma Go WiFi hotspot. I can tether on my phone too but sometimes I don’t feel like running down its battery or turning it into a portable hand warmer.
  12. Powerbeats 2 wireless earbuds. You don’t have to turn off Bluetooth during take off or landing, so I listen to music from gate to gate without worrying about getting tangled or where exactly my phone is. I also wear these to work out and when walking around/transiting alone (but not too loud, because you still need to hear your surroundings).
  13. Bose earbuds. Bluetooth headphones don’t last forever, and these are easier to deal with for video calls through the computer; I don’t usually pair the Powerbeats with anything other than my phone.
  14. Dell USB-C adapter. Doesn’t have a pass-through for charging, but has both HDMI and VGA to cover whatever projectors I might come across as a speaker, as well as USB and Ethernet. It has a clever little folding cable and is exactly the same size as an Apple earbuds case.
  15. 16 GB USB flash drive. Sometimes sneakernet is still the best way.
  16. 10up hard enamel pin. I am (in)famously not much of a branded t-shirt wearer; pins are way more versatile (conference lanyards!) and I think ours look particularly sharp.
  17. Rose gold MacBook. What can I say, I am madly in love with my pink laptop.
  18. Laptop sleeve. While the bag has a padded laptop compartment, I like having a sleeve both for extra protection and so I can toss it into another bag if I need to. I often put my laptop on top of it instead of directly on tables, and this particular one can function as a little stand, which I haven’t used much yet but seems serviceable.
  19. Roost laptop stand and stand/keyboard/mouse case. I don’t bring this to coffee shops, but it comes with me on longer work trips and family visits. I typically don’t use the case inside this particular bag, but I wasn’t thinking about that when I pulled everything out and didn’t feel like re-doing the photo.
  20. Apple Magic Keyboard and Magic Trackpad 2. I think they are unreasonably expensive but I’m very happy with them anyway.
  21. Articulate clutch/wristlet and its cross-body strap. I backed this on Kickstarter a couple years ago and it is by far the best wallet I’ve ever had; this is actually my second one because I wanted this color, so I gave my original black one to my sister. I don’t even really care about the RFID blocking part they tout – it fits my phone and larger currency, the vertical card slots are awesome, and whatever material it’s made of is extremely sturdy and stays surprisingly clean. My husband has one of their wallets, which is also very nice. The long strap is handy when you’re going out somewhere that won’t have a good place to put the clutch down (e.g. conference after parties). It’s also very pretty. 💁🏻
  22. Credit card holder. I frequently carry just this around town, with car fob attached (keyless entry/start) and my phone. It fits in my back pocket, which is a little easier to deal with than a wristlet when handling a toddler.
  23. Business cards.
  24. Tissues.
  25. Some pens and a mechanical pencil that I wouldn’t be sad to lose. The Staedtler Triplus Ball is a staple (I’ve been a fan of their Triplus writing implements since college oh god I graduated 10 years ago), while the gel/fluid ink ones tend to change fairly often. Right now I am super into the Muji 0.38mm ones.
  26. AX Folding sunglasses. These were supposed to be for my husband but I ended up liking them too much and swiped them back. I also have a cheapo all-plastic pair somewhere; these have a metal bridge, which holds up better.
  27. Folding mirror (the square gray and orange patterned thing).
  28. Mints and gum.
  29. Slip-proof hair tie. My hair is VERY slippery, which I guess is a good quality, so these are the only hair ties that have ever worked for me without having to be tight enough to give you a headache (a very real problem). I do not carry spare ones on my wrists though; those black lines are tattoos. 🙂
  30. Collapsible hair brush. I just realized this one has a mirror inside, which is pretty fancy for something I got at a dollar store.
  31. Body lotion. I started carrying this for tattoo care but it’s generally useful. The Sweethome recently declared this Aveeno one the best lotion for most people. They also sell a bigger tube of it that’s carry-on friendly.
  32. Tweezerman Nail Rescue Kit. The cuticle nippers have saved me a lot of pain, and a nail file is a good thing to have on hand. The pusher/cleaner is more specialized but the flat end is actually pretty useful as a flat-head screwdriver, too. 💪
  33. Fresh Sugar tinted lip balm. The sheer pink of the Rosé one is subtle and universally complementary; just a swipe of this makes me feel more put together.
  34. Compact tampon (multiple). These are critical, and even if you don’t need one that week, you might save somebody else. Sometimes I wish men and other non-menstruating persons would carry one or two just to help with emergency distribution.
  35. Hand lotion. I like citrus scents, so this one is pink grapefruit.
  36. Band-Aids. I usually need them for my heels when I forget that a pair of shoes is still breaking in, so a least a couple of them are those extra sticky tough strip ones.
  37. EOS mint lip balm. Sometimes I don’t want color. Sometimes I’ll let somebody else use it (not just anybody, specific people).
  38. Lactaid. I can handle a little dairy, but like 90%+ of my East Asian peers, I am lactose intolerant. I still enjoy eating things that are heavy on the lactose and you never know where or what you might go eat with other people, so I carry a couple of tiny pills, no big deal. I think there’s even one tucked into the credit card holder.
  39. Kindle Paperwhite.
  40. Folding stand. I actually use this mostly for my Kindle so I can read a little while eating by myself (I should probably just get a case that does this), but it works for my phone, too.
  41. KIND bar. There are usually also other sturdy/portable snacks, like nuts. I am not pleasant when hangry, so this is for everybody’s well-being.
  42. Foldable water bottle. This one was a very welcome piece of swag at WordCamp Europe 2015.
Standard
Technology

2016 12″ MacBook + desk setup

I am not an early adopter, but after playing with a 12″ retina MacBook in person last summer, I knew I’d make the jump soon enough. Then the 2016 v2 (or maybe more like v1.5) updates came, and more USB-C peripherals, and that rose gold! Yes, it is very pink – possibly too pink. No, the person who tweeted that it was like having a Michael Kors laptop is not entirely wrong. Doesn’t matter: I am unashamedly into it, and also rather love the idea of having a pink laptop at tech events. 💁🏻👗👠

I agree with the praise I’ve heard: the weight, the screen, the speaker, the trackpad, the form factor; they’re all amazing. It accomplishes my major goals perfectly – a retina screen and even better portability with the (lack of) weight, smaller size, and quick disconnect from my home workstation. Performance-wise, it is essentially equivalent to the 2013 MacBook Air it’s replacing, but given that I had no problems doing my work with that machine, more power was not critical. I am also perfectly happy with the things most people seem to complain about: the keyboard (yes, it is shallow, and okay the arrow key setup still sucks) and the single USB-C port.

The single port is completely manageable, and not just through dongles (can we find a better word for these already?). There are a couple of USB-C monitors available as of the last few months, which can send power while receiving the display signal and handling I/O for on-board USB 3 ports. I went with a 2560 x 1440 27″ Acer, which is quite nice and happens to fit my not-black-hardware aesthetic. I am not running it at HiDPI (1280 x 720), for a few reasons: I have been using monitors at this resolution for several years and like my window setup, I am fairly far away from it most of the time, and it’s better for testing and QA – after all, plenty of people are not on HiDPI screens. It does not bother me next to the MacBook’s retina screen.

I am only using one of the two USB ports that are on the monitor, and that’s for my external hard drive. I have not tested the speed and don’t plan to, but it seems to be working just fine. The thing that looks like a hub in the photo of my desk is just a charger – I almost never do any data transfer over USB besides the external HD, but I do frequently need to charge things at my desk (I also have one of these on my nightstand). If you’re curious about the desk itself, I wrote a little about it here.

Finally, there are two things under the monitor: Apple earbuds and an identically-sized USB-C dongle. There are lots of these available with various ports, but this Dell one stood out to me for its clever little folding cable and having both VGA and HDMI, which is not very common amongst its peers and fully covers my usual use case for such a thing – giving presentations. The single USB port is all I need; when on the move, I prefer faster charging with a wall charger1 or battery pack with 2.1A output. Having Ethernet is really just a bonus, but chances are it will come in handy someday. I’ve only tested the HDMI and USB ports, both of which work well with the MacBook (didn’t get full resolution on this monitor with the HDMI, though). Sadly, it’s yet-another-piece-of-black-hardware and does not have a USB-C pass-through for charging (I’m highly unlikely to actually need that), but it’s solid and perfect for carrying around in my bag – it will not be on my desk almost ever.

 

  1. I have two different USB wall chargers I carry depending on what I’m doing, but the one that’s particularly useful is this power strip with one outlet and four USB ports. It has a long cable, which is super convenient for awkwardly-placed outlets in hotels and Airbnbs, and it handles the higher voltage you find in most of the rest of the world by just passing it through. All I might need for international travel is whichever small plug adapter for the strip itself, as items like Apple chargers and hair dryers also handle high voltage input.
Standard

I gave a deeply personal talk last weekend at WordCamp San Francisco on the intersection of my identities as musician and web developer. I’ve mostly given technical talks of a practical nature, but have been mulling over this topic for some time. As with anything, watching myself “perform” is difficult (could somebody please smack me the next time I say “right?” or laugh on stage?), but I am really happy with how this talk turned out. There are a lot of things that really came together well – an audio clip, a commissioned piece of animated art, and photos.

Check out the video embedded below, or you can also watch it on WordPress.tv.

WordPress

Unintentional destruction

At WordCamp Europe, Matt Mullenweg got a question about the role of women in the WordPress community. Before he could answer, somebody shouted from the audience: “We love women!” I was gratified when Matt said “come onnnnn”, but disappointed that it was lost in the sea of applause for the preceding exclamation.

The comment from the peanut gallery was later addressed in Matt’s response: that we should think about the effects our words and actions may have on the comfort and security somebody may have with a community. This isn’t the first time in history that comment has been made – if anything, it’s one of the most-used responses when a male-dominated field has its maleness pointed out. There is very little chance that the commenter had any intention of being destructive – he probably thought it was hilarious (and I’m sure lots of people also thought it was) and accurate. In this instance, we also have the added layer of cultural and language differences among the audience.

Without realizing it, this guy did two things with those three words: made anybody whose sexual preference isn’t women feel excluded from “we”, and reminded women that their presence isn’t desired because of skill and merit, but to be potential mates for others. That doesn’t mean all people in those categories felt that way, but that is still the message it sends.

This is really unfortunate, and again, likely unintentional. When it’s unintentional, it can be hard to address. Accusations of being sensitive fly around (if being sensitive means understanding how actions actually have consequences, then you know what, hell yeah I am), and defensive reactions remind others that it isn’t their feelings that matter, only the intentions of the originator, leading to further hurt and less listening.

It’s so predictable, I can even hear it now: “Stop making that guy a villain! There is such a thing as platonic love!” But just as this person didn’t intend to harm, humans are typically unintentional with their feelings. I can try to logic things away all day: I’m established in the community, I’m a very confident person, I know lots of men who have my back, I’m not a single lady (as if that really matters – that’s how engrained the importance of being a mate is), I too love having more women around. But the logic doesn’t prevent me from suddenly feeling uncomfortable and not respected. I didn’t intend those feelings any more than that guy intended me to have them.

Let’s be better. As an open source community, I do believe that the WordPress one is generally friendlier, more welcoming, and more diverse than many others. But we can’t rest on that – we need to keep being the best people we can be, and that includes taking a moment to think about the effects your words and actions might have on the people who are exposed to them.

Standard

Every WordPress release is named after a jazz musician. I didn’t grow up listening to jazz and still don’t have much of an ear for it, despite significant exposure through college (I did terribly in required jazz classes, but I still went to concerts!). So when it came time to pick a musician for the release, I wasn’t quite sure where to go. As a pianist, I felt torn about my bias – Art Tatum came to mind almost immediately, but didn’t immediately feel right. I would also have loved for it to be Ella Fitzgerald for some hometown pride, but she’s already got a release named after her.

Then I remembered that there is a jazz musician whose work I know a little better and have loved: Benny Goodman. He’s known for quite a bit in the jazz world, as well as in pop culture – if you’re familiar with “Sing, Sing, Sing”, it’s probably this version:

In classical music, Benny Goodman is known for commissioning and premiering some of the most significant chamber and concerto works for clarinet in the 20th century, such as Bartók’s Contrasts and Aaron Copland’s Clarinet Concerto. Being married to a clarinetist, I am deeply familiar with these works and their lasting influence.

When I settled down to work with Michael Pick on the release video, we chatted about what the style and tone of the video should be like. You can see his genius in the end product – it’s absolutely everything I wanted, and more:

If you listen carefully to the background music, you’ll notice that it’s classical music with piano and clarinet; specifically, the third movement of the first Brahms Sonata for Clarinet and Piano, a piece that Benny Goodman never recorded, although he did record its sister sonata. What you might not know is who’s performing it, and I’m really pleased to reveal that it’s actually my husband and I playing!

Pick and I think it worked out beautifully with the visuals and the tone of the video, and I love that I was able to add just a little something extra to a release that I’ve been so proud to lead. I hope you all enjoy 🙂

Web, WordPress

Final Projects: Website Construction I [TH481A], Summer 2011

Had a really great two weeks with my summer session students this year. After 15 hours of instruction on everything from digital content for musicians to file and folder organization to HTML basics to a PHP/MySQL powered events calendar, here’s what they came up with:

All in all, I think they came out pretty damn well! When I think about the wide-eyed look these conservatory-trained musicians all gave me when I started going on about tags and servers on the first day of class to the new efficiency with which they are all editing in Textwrangler/Notepad++, saving, uploading with Filezilla, and viewing in the browser, I’m selfishly proud of myself and also very proud of these students, all of whom are my age or a little older (no extremes this year).

To the students: Congrats, everyone! I know you’ll all keep tweaking away at your websites and discovering more and better things to do with them. The course website will continue to function and your accounts will remain. I may miss things on the forums after this month unless I set up email notifications on new topics somehow, so stick to email if you have an urgent question. I wish every one of you could stay for the next two week session as well. For those who are continuing on, let’s just say that you will be subjected to my zealous love of WordPress and really be thrown into the deep end. Get ready 🙂

Standard

This past weekend, Adrian and I went down to NYC for a rehearsal of this new reed quintet project he has going on. A reed quintet consists of oboe, clarinet, saxophone, bassoon, and bass clarinet; basically, like a woodwind quintet but without the sad reedless instruments of flute and horn. It’s a pretty cool sound and they’ve got a really solid group together. I tagged along to hang with some other friends in the area and to take some preliminary photos as they gear up for a music festival retreat and coming gigs. I’ll also be doing their website in the near future… once they decide on a name. In any case, I just spent a good chunk of time tweaking up one of the photos, so here’s a public preview of an awesome up and coming group!

From left to right: Benito Meza, clarinet; Doug O’Connor, saxophone; Merideth Hite, oboe; Adrian Sandi, clarinet; Harrison Hollingsworth, bassoon

Reed Quintet

Music, Photos, Projects, Web

Project Reed Quintet

Image