DP code release with mysqli goodness

Today we set free the second DP code release this year: R201707. This comes just six months after the last major code release. Both were focused on getting us moved to modern coding practices and middleware.

Today’s release moved the code off the deprecated mysql PHP extension and over to the mysqli PHP extension for connecting to the MySQL database. This will enable the site to run on PHP 7.x in addition to PHP 5.3 and later. This change was essential in enabling the code to run on modern operating systems, such as Ubuntu 16.041.

This release also included the ability to run against phpBB 3.2 allowing pgdp.net and others to upgrade to the latest-and-greatest (and supported) version of phpBB.

Perhaps most importantly to some of our international users, this release includes a full French translation of the DP user interface.

Next up for the DP code is modernizing our HTML and CSS to bring it up-to-date as well as standardizing the look-and-feel across the site. Work is well under way by several volunteers on this front.

Many thanks to all of the volunteers who developed and tested the code in this release!


1 Technically you can run PHP 5.6 on Ubuntu 16.04 as well, but 7.x is clearly the future.

1 year at Spaceflight Industries

Today, June 27th, marks my 1-year anniversary at Spaceflight Industries1 (SFI) and it’s hard to believe it’s already been a year. I was brought on to build up their validation team and was promoted to Validation Manager three months later. Spaceflight is the first company to successfully convince me to be a manager and so far it has stuck.

It’s been great to work alongside such a passionate and knowledgeable set of engineers, both software and aerospace. Getting to work with Jane and Eric again, in particular, is fantastic. I’ve had to learn a whole different set of terminology and skills being a part of New Space. IBM and EMC have absolutely nothing on aerospace’s use of obscure initialisms or their fascination with waterfall development.

I was excited to be at SFI on September 25th when we launched Pathfinder-1 and subsequently confirmed communication with it & downloaded our first images. It is thrilling to task a satellite to take a picture of the other side of the Earth and get the photo back in less than 2 hours.

The team is hard at work as we take lessons learned from Pathfinder-1 & our first-generation ground systems and build out our next-generation satellite constellation & ground systems. It’s been a fantastic year full of challenges and fun and I look forward to what lies ahead!


1 nee BlackSky — same company, just some marketing/branding changes.

Happy Pride

Pride is Gay Christmas. You greet one another with “Happy Pride”, there’s a festive joyous spirit in the air, and it’s a chance to celebrate life among strangers and friends. Rainbows are everywhere. For one glorious weekend of the year you are immersed in your community. You can hold hands and steal a kiss from your boyfriend as you walk down the street and get smiled at by strangers rather than jeered.

There are street fairs, block parties, and concerts in the parks. Numerous organizations are staffing booths at all of them, including the Seattle Public Library, National Parks Service, the ACLU, and more local nonprofits than you can shake a stick at.

Today Seattle’s Pride Parade will include the City of Seattle, King County, churches, schools, and local service organizations both large and small. In addition, some of the largest and most well-known corporations like Alaska Airlines, Amazon, Delta, Google, IKEA, Microsoft, Starbucks, T-Mobile, Whole Foods and more will be represented by their LGBTQ employees. We are far past the days where only the alcohol companies wanted to be associated with us. The parade will last for hours because it’s that big. The support for our community is that big.

Fly a rainbow flag, kiss the one you love, and celebrate life.

Happy Pride!

Feeling Unsafe in Trump’s Rural America

This weekend Daniel and I got out of town and stayed at a lovely AirBnB out in Deming, WA — about 2 hours north of Seattle. Our AirBnB hosts were delightful people and our stay was great. Along the way I figured out that I now feel unsafe in rural America.

You don’t have to get far outside of Seattle to see pro-Trump signs. They’re on the side of I-5 as well as alongside small backroads but all primarily in rural areas. This isn’t surprising, urban centers are typically lean liberal (read: Democrat) and rural areas typically lean conservative (read: Republican). As someone who grew up in a rural, very conservative, area of the country I have first-hand experience with the racism and homophobia that go with such insular, isolated, usually-religious communities. Rural areas didn’t suddenly get more racist or homophobic the day Trump was elected, but they did get implicit affirmation that it’s OK to vent those opinions vocally, just like their new President did on the campaign trail.

As we left I-5 in left-leaning Whatcom county I started to feel more uncomfortable, wondering if it really was safe for two gay guys to stay at an AirBnB in a very rural area. After we checked in and walked along the road to the Nooksack river, I wondered if it was safe for us to be seen together as trucks with gun racks drove past. When the owner of the general store looked us over as we walked in together I wondered if we were in a safe place. I don’t know if we were or not but I felt unsafe all the same.

We got back to Seattle without incident this afternoon and I read about how Trump praised leaders of homophobic groups, as sharp contrast to former-President Obama’s proclamation of support. It’s no wonder I don’t feel safe in Trump-land.

I’m realize I’m being irrational, but I told Daniel that for our vacation this fall I didn’t want to visit any US county that went to Trump. That effectively nixed our plans to visit Alaska. I’m not all sad about this though, there are tons of wonderful blue cities in the US and literally hundreds of countries to visit where I feel safe. I’m sure they won’t mind taking my liberal US dollar either.

Allergic to religion

I grew up in a small Texas town where there were more churches – 23 to be exact – than banks and restaurants combined. We attended church as a family every Sunday morning for Sunday school and service, not to mention youth choir, youth group, Wednesday night service and more. There I learned sex before marriage was wrong, good girls dressed demurely, wives were subservient to their husbands, hate the sin & love the sinner, and that all gays were going to hell.

The last bit was more than a little inconvenient when I figured out that I was gay around the age of 12. I then spent the next 9 years praying to god to take away my feelings and make me straight. Eternal damnation can be a pretty strong motivator. I had almost a decade of self-loathing, self-hating, and depression before deciding that literally the only way I was going to survive was believing that god made me gay. I was fortunate that I was able to turn that corner. Many LGBT youth do not.

When I was 22 during my first job after college I struggled to reconcile being gay and Christian. I approached the youth minister at the Baptist church I was attending for help. He counseled me that being celibate in both mind and body was the only way to be gay and also live in god’s grace. We formed a friendship and played racquetball at the local Y after work. At least until this Baptist youth minister with a wife and kids hit on me in the locker room after a match. I guess celibacy only applies to non-closeted homos.

I found another church in Austin that appeared to accept me. “Come as you are” was their slogan. Early on I met with the teaching pastor at a coffee shop and we discussed my apprehension about attending the church given my prior experiences. He assured me that I was welcome – and I was for a while. I was an ASL interpreter almost every Sunday for 4 years until they decided that no one who was gay could be a “spiritual leader” in the church. They then proceeded to debate if interpreting the sermon counted as being a spiritual leader. If so, I would be asked to step down. I was just a few months away from moving to Denver so I bypassed the charades altogether and stopped attending the church.

Despite that betrayal I sought out and attended a church regularly after moving to Denver. Like a domestic violence survivor, I kept going back.

Then came California’s Prop-8. Nothing brings good Christians together like hate.

Catholics, Mormons, Evangelicals, and other religious groups all banded together to force their belief of “traditional marriage” on others using lies and deception. All to revoke the rights of loving couples to obtain a civil marriage — a purely civil and non-religious contract that provides many important legal rights that cannot be obtained by other means. The final day of the Prop-8 trial was the day I decided that I wanted nothing to do with religion of any kind. God and his followers could go screw themselves. I’m not throwing the baby out with the bathwater. To quote my blog entry at the time: forget the bathwater, the baby’s dead.

Since that day I have a very strong allergic reaction to religion of any kind. I get defensive. I get sad. I get angry. I lash out. I do whatever is necessary to protect myself from the feeling of deep betrayal and memories of self-loathing and self-hatred. Religious-themed Christmas music triggers it. Attending a function in a religious building triggers it. Knowing how many pious Evangelicals voted for Trump despite his bigotry, misogyny, and racism continues to set me off daily.

The damage to me is done and I want no part of it. I have been abused by religion enough and I am fortunate to have escaped with my life. The day I turned my back on religion was a turning point in my life. Since then I have become a healthier, happier, more caring, more compassionate, more empathetic, and more loving person.

 

CheckType parameters for processing XUnit test results

A Jenkins pipeline can publish XUnit test results as a step in a Jenkinsfile. Being unable to find any online documentation for the XUnitBuilder CheckType parameters, I dug into the code myself to find the answers.

Here’s a full XUnitBuilder stanza like that generated from the Jenkins Pipeline Snippet Generator (with the lines wrapped):

step([$class: 'XUnitBuilder',
     testTimeMargin: '3000',
     thresholdMode: 1,
     thresholds: [
       [$class: 'FailedThreshold',
         failureNewThreshold: '',
         failureThreshold: '',
         unstableNewThreshold: '',
         unstableThreshold: ''],
       [$class: 'SkippedThreshold',
         failureNewThreshold: '',
         failureThreshold: '',
         unstableNewThreshold: '',
         unstableThreshold: '']
     ],
     tools: [
       [$class: 'CheckType',
         deleteOutputFiles: false,
         failIfNotNew: false,
         pattern: '**/unittests.xml',
         skipNoTestFiles: false,
         stopProcessingIfError: true]
     ]
])

Here are the CheckType parameters and what they mean:

  • deleteOutputFiles – If true, the output files are deleted after being processed. If false they are left in-place. Default: false.
  • failIfNotNew – If true and files match the pattern but were not updated in the last build, the check fails. This helps ensure that all tests were run. Default: false.
  • pattern – File pattern that identifies XUnit-formatted output.
  • skipNoTestFiles – If true and no test files matching pattern are found, the check is skipped. If false and no tests are found the check fails. Default: false.
  • stopProcessingIfError – If true, any error (such as an empty result file) will stop any further processing. If false, errors will be reported but processing will continue. Default: true.

Note that you can get by with a much smaller step stanza by just including values that differ from the defaults, eg:

step([$class: 'XUnitBuilder',
     tools: [
       [$class: 'CheckType',
         pattern: '**/unittests.xml',
         skipNoTestFiles: true]
     ]
])