This is Peter's web site, a very slow-motion blog.
Welcome
26 August 2025
I did a few interesting things at work that are now no longer needed, or were never used so I saved them here:
- The gratitude map
- A demonstration page that I built on the expectation that we were going to buy a new Applicant Tracking System (ATS) for human resources staff to track job seekers through the hiring process. Since we were going to run a trial with just a few agencies, jobs created in the new system would have to be visible in search results on the existing careers website. I proposed setting up a new page that would take the job seeker's search query and passing it to a new page that would then make a call to both systems and combine the results. It looks just like the existing page to minimize resistance from decision-makers. At the time I made it, the jobs for accountants were real and the links for those labeled Peoplesoft would link you to the vacancy announcement. The fun part on this new search page is the map for the Location filter—click on Select from map. Type in a local address and see where you can commute to within a given time.
- We gave up on getting a new ATS and are now trying to aggregate all the jobs available in District government on a single site. The current careers page covers agencies that have a bit over half of DC's 37,000 employees. The biggest one outside is the Public Schools but also Police, the University of DC, the Office of the Chief Financial Officer and so on. The smaller agencies don't have an ATS so there is no hope of getting a data feed which means will have to “scrape” their websites to make our own. I made two demonstration pages to show what is possible. Another team will be doing this work and they won't be using PHP and the output may be XML:
- Get MOTA jobs which scrapes Mayor's Office of Talent Acquisition's jobs page. This was tricky as they are not consistent in the labels they use so I was reduced to looking for ":" as the separator for name/value pairs.
- Get DC Council jobs which scrapes DC Council's jobs page/ This was tricky because the vacancy announcements are in PDF format.
- We couldn't get approval to spend a few hundred dollars on a commercial provider of a pop-up survey so we wasted a whole lot more in terms of time creating one ourselves. Test page and the page to see the results.
- My boss wanted our website to convey a bit more fun and innovation so I suggested a new header!
- Not a programming task but more of what my job is really about: research. Our team considered getting into the issue of housing affordability so I wrote a report about housing in the DC metropolitan area. It is 20 pages so I don't expect you to read it all but the short version is that, like the rest of America, we stopped building a wide range of housing types to suit a wide range of incomes. Further, a history of racism has to be acknowledged. There were huge population movements following Supreme Court decisions in 1948 (outlawing racially discriminatatory housing practices) and 1954 Brown vs. Board of Education outlawing segregated schools), and then the riots in 1968 following the assassination of Dr. Martin Luther King Jr.—between the 1950 and 1970 censuses, 300,000 White people left the district leading to plunging real estate prices. Some Blacks moved in but not enough to make up the loss, More recently, highly educated, often single, professionals have been moving in while families have moved out so that at one point, the number of households was increasing as the population was falling! Anyway, it turns out that the causes of the housing crisis are well understood but there are many barriers to the solution (build a lot more housing). We decided that we could not have an impact and so moved on. If nothing else, watch this video about a comically small apartment in Japan which could not be built in the US. You probably would not want to live in it but it is a huge step up from being homeless and a lot of homeless people could afford the minimal rent.
Finally, watch KPop Demon Hunters if you haven't already. In case you didn't already know, I have a long page about K-pop just a click away!
25 April 2022
It is Anzac Day but that is not why I am posting something after a year and a half of silence. Instead, it is to share with you our drastic change of plans… I am coming out of retirement and will stay in Washington, DC for a few more years.
At the time we left for Portugal, my understanding was that I just had to re-enter the US once a year to keep my status active. Then I read that if you are away more than 6 months, you have to justify to the immigration official at the point of re-entry why you were away for so long and risk being sent back. Coming back for a perhaps a week every 6 months is a nuisance but still manageable. However, more recently I found out that US permanent residents are required to reside in the US permanently! Or more precisely, are required to spend more time in the US each year than out of it.
I got away with it last year because COVID made travel so difficult and many people were stranded. In early February 2021, when I thought I needed to be back, 3,000 people were dying every day in the US and most international flights were canceled. We decided that it wasn't worth the risk of catching a deadly disease so we came back within a few weeks of us both being vaccinated in June/July.
It makes no sense to spend half the year in the US and half in Portugal, partly for the expense of maintaining two households but also that I need more than emergency travel health insurance if I am in the US that long. So, after much debate with Lan, we agreed last weekend that we, or at least I, will move back and get a job. I am already in DC having just returned from Australia and so now I am applying for jobs. We bought a condo (US)/flat (UK)/home unit (AU) in SE DC last year to maintain a US "physical address" so I will live there.
31 December 2020
Another update from Portugal (letter 22) covering February through November this year.
19 June 2020
The site has been updated to work with phones, something I should have fixed a decade ago and I have added two new pages of content:
I also added some notes about the update on This web site and included the two “Update from Portugal” emails I sent with links to the respective photosets as letter 20 and letter 21 under Newsletters. However, the most time-consuming part of the project was modernizing all the code and modifying an existing image gallery to allow long captions.
29 November 2018
We took a cruise on a smaller ship to the Canary Islands (part of Spain) and then the island of Madeira (part of Portugal): 106 photos. As always, click the
icon (or
on mobile) once in Google Photos to see the captions.
27 September 2017
Not something to celebrate in the normal sense but I had a crash while riding my bike to work which put in me in hospital for 2½ days and then I was off work for a month recovering. It also left me completely deaf in my right ear.
What is worth celebrating, and is indeed quite humbling, is the extraordinary efforts my coworkers and neighbors went to to find me when I failed to show up at work at the normal time. Thank you. You know who you are. See the whole discussion on our office communications system (last names are removed). Sorry, it is a screenshot and at 8.6MB it is a large image; it will load in a new tab, then click on it to expand.
4 June 2017
Trip to Japan! Two sets of photos depending on your level of interest: ~500 photos and ~100 photos but click the
icon once in Google Photos to see the captions.
14 August 2016
In one of my best runs ever, I completed the 14km/8.7 mile (~1/3 marathon) City2Surf race in Sydney in 57:40! I managed 59:xx twice in my late teens but those times were not directly comparable since that was before timing chips so it was time from the gun but in both cases I think I was fairly close to the front and so it would have been just a minute or two to cross the start line.
13 June 2015
Trip to Brazil! Two sets of photos depending on your interest: ~500 photos and ~100 photos but click the
icon once in Google Photos to see the captions.