Commanding Chaos for Coworking, Open Source and Creative Communities

Recent Works

Fri, 11/03/2023 - 11:16 -- rprice

IES Abroad Dashboard, an example of an application I built
IES Abroad Dashboard, an example of an application I built

I'm on the job hunt, so the first post on my page should reflect some projects I've worked on. I'll probably be updating my site but for now this will serve as an introduction to work I've done.
migration from IBM Web Content Manager to Contentful / Headless Next.js
Philadelphia Orchestra and Kimmel Center
Architected migration from legacy CMS to a modern CMS with web services connecting to a CRM / store.
migration from Drupal 7 to 9/10 with serious backend integration on in-house APIs, complicated user flow and custom dashboards, multiple roles (students, school employees, staff), and a content hub sharing with sister company.
syndicated content from sister company, multi-lingual site.
(not yet launched) architechted upgrade from Drupal 7 to Drupal 9/10 with simplified content model, upgraded search, multilingual interface.
designed web services hosted on Azure to back a dual-platform (web/React and native mobile) game platform with friends lists, timed drops, achievements, and virtual currency to purchase digital goods.
University of California, Office of the President, Procurement
Architected upgrade from Drupal, WordPress, Sharepoint and external knowledge bases into modern Drupal.
Architected migration from legacy Drupal with multiple domains and greatly reduced complexity, created a support and migration plan for bespoke features outside the main line of development.
coordinated work of development teams, designed new contact pages across 250 departments, acted as product owner on scrum ceremonies
architected a migration from legacy Drupal to modern Drupal, keeping costs low and impact high. (has since been rebuilt)
replaced old content types with new headless components using React and an in-house design system. Integrated with AWS API Gateway for authentication.
Maintained legacy Drupal 7 code and introduced React apps for accessing secure customer information to allow download of restricted assets.
Acted as tech lead and release manager for a state-wide digital transformation project for the Commonwealth of Massachusetts. Worked with a data science team to classify, tag and migrate 250,000+ public records
Discover Drupal
Acted as a Lead Mentor to students graduating from an online bootcamp, led office hours, consulted on projects, and took students to DrupalCon Pittsburgh

Discover Drupal Students at DrupalCon
Discover Drupal Students at DrupalCon


Commenting on this Blog post is closed.

Some YouTube Appearances

Wed, 03/18/2020 - 22:47 -- rprice

Lately I've been thinking about my communications with the wide world and the videos I've made that have gotten the most views on YouTube - aside from the fact that many of these were made a really long time ago, and I'm sure things are a bit different now, I thought I'd include this playlist all the same.


Commenting on this Blog post is closed.

This Blog is Self-Hosted on OpenDevShop

Wed, 04/24/2019 - 17:50 -- rprice

I am VPS (Linode), and I'm using the excellent @OpenDevShop which combines #Ansible @aegirproject and #Drupal for a user-friendly self-hosted experience. I wish there was something like this for WordPress, but that's another poll.

This week I updated the security patches on 6 Drupal 7 sites in about 15 minutes from a GUI. Could have done it on my phone. Have you tried running an SSH client on your phone? Or doing git PRs on your phone? I am a big fan.

I also have a friend who used to fight with file permissions on our last VPS that is now able to log in on SSH or the GUI and perform Drupal updates using a github Pull Request workflow. OpenDevShop can create new environments per-PR if you want.

If you'd like to run Behat or even arbitrary shell commands during a deploy, you can do that too. I'm using it with @gitlab which is cheaper than my old paid Git hosting (remember how GitHub private repos used to cost money?) Also I don't feel right archiving my stuff for $0.

A feature I haven't started playing with is that OpenDevShop can also manage a network of servers from a central GUI / CLI. You can deploy sites on other servers, so if you want to have someone pay for the hosting bill but still have access to manage it from a central UI you can

I'm hosting Drupal 6, 7 and 8 sites there with minimal headaches - something I used to dread. Also major props to @mydropwizard and the #Drupal6LTS supporters for making continuing Drupal 6 a reality for the time being. It works with PHP 7.2 and everything.

The point is "I'm cheap. I know something about computers and I should be able to host this for minimal $$ per month." Open Source is helping me live the frugal content creator lifestyle. Maybe now I will have time to post more often.

If you like OpenDevShop you can support them on @opencollect which is another smashingly good Open Source citizen:

Update: I've also converted this ongoing conversation to a "Twitter Moment", the first time I've tried this feature.


Commenting on this Blog post is closed.

Thank You - DrupalCon Seattle 2019

Wed, 04/17/2019 - 16:55 -- rprice

This year I had the privilege of being invited by David Hwang to join his ongoing series, originally title, "The Imposter Monologues". This year's theme was "Thank You" and this potpouri has become a sort of group therapy session for Drupal community members. I highly recommend you check it out, and not just because I am there at minute 7:30.


Commenting on this Blog post is closed.

Open Source in Action

Tue, 04/02/2019 - 15:48 -- rprice

Last year I was part of a W3C working group about creating an metadata Schema for "Educational or Occupational Credentials". It was released to the world this week:

An educational or occupational credential. A diploma, academic degree, certification, qualification, badge, etc., that may be awarded to a person or other entity that meets the requirements defined by the credentialer.

If you build a job board, educational site, or professional site this might be interesting to you. If you have developers who are Acquia Certified, or you're Accredited by such-an-agency, you can update your credentials and crawlers will be able to understand that.

To quote the Shake and Bake girl: "...and I helped!"


Commenting on this Blog post is closed.

Brian Feldman Returns to Orlando and I live in Portland

Fri, 02/22/2019 - 17:24 -- rprice

Brian Feldman is bringing his signature brand of performance art to Orlando in a series of performances called #BFP15.

BFP15 timeline, showing names of shows on a horizontal line similar to a subway map

I remember the first time a friend recapped to me the Feldman Dynamic - part of a mid-aughts Fringe Festival - maybe at Will's Pub? I was like "why would you want to watch a guy and his sister eat hot dogs and have an unintelligible conversation?" The answer is different for each of us.

If you only moved to Orlando recently, you may not know who Brian Feldman is, but you should. Check out one or more of these performances, and if you feel particularly head-scratchy about one, make a commitment to checking it out. You owe it to yourself to step outside your comfort zone and #tryfeldman

Brian's work ethic is unmatched, and his ability to surprise you at every turn will, well, surprise you. His shows are more exciting than any reality TV show, because they're not happening on TV, there is no script and you legitimately cannot guess everything that will happen during a given performance. This art is some of the most real experience you will have, even if you don't understand it all, or have trouble explaining it. Would you like to be able to exactly break down how everything in the world works, or do you prefer some mysteries in your life? What are you, some sort of a computer person? Give up your slavish devotion to total understanding and check out Brian's work!


Commenting on this Blog post is closed.

(this blog is) Only Mostly Dead

Thu, 11/01/2018 - 12:13 -- rprice

Updates: worked at, had a baby, started as a contractor for Red Hat. Recorded some DrupalEasy Podcasts. Went to a few DrupalCons, taught several students how to Drupal. Started setting up a wood shop in my garage, started building a crib, fixed a hole in the bathroom floor. Went to visit grandparents and friends with my wife and baby, went to a crapton of estate sales.

Took a bunch of photos, wrote a few tweets, made a few friends and connections. I am now the host of the Portland Drupal User Group, such as it is.

Our house in Florida had a fire, and we are in the middle of renovations. If you want to live near downtown Orlando, we have a great location.

We are planning on reworking the floor plan of our house in Oregon, it's currently not family-friendly. Hopefully I'll get to build some bookshelves and do some woodworking for that upgrade.

Mariah now works about 10 minutes away from the house, which means she can come home for lunch. Her last job didn't even have lunch breaks, so this is a huge huge improvement to our lifestyle.

I don't miss the weather, the politics, the bugs or the roads in Florida. I do miss the people. Some of those people are here on the West Coast now, as naturally happens. As naturally as Brownian Motion.

I still think of myself as a Tummeler, though I do less of it now there is no Urban ReThink and no Florida Creatives. (I actually got to meet Heather and Deb last year, which was really cool, now I have met all 3 including Kevin) More of my time is devoted to adventuring, discovering great things, both manmade and natural. Oregon is a great place to go on adventures.

I keep thinking I need to get back to posting here. Maybe it will happen, maybe it won't.

See ya around, Internet!

Commenting on this Blog post is closed.

Long Beans, Holy Basil and Portland

Thu, 09/01/2016 - 11:45 -- rprice

Ryan at Cannon Beach

I'm going to break my posting hiatus with a recipe, but first, a little catch-up if you haven't been following me on other media:

In January, we packed up the Yellow House in Orlando and prepared it to be a rental property (an expensive ante) and packed up the 2 dogs and 3 cats to move to Portland, OR. Mariah and I got engaged in June of last year and our wedding will be in Florida on January 7th, (1/7/17). We're pretty excited, and it will be an awesome Winter escape for us and our families.

Last time I wrote here, I had been working at Blink Reaction, later FFW. That job lasted for about a year and a half, and in July I took an offer from that had been extended around the time of DrupalCon, but I started in July. Between switching jobs, we were also took a 2 week trip to Italy at the same time as we were moving into a new house in Portland, in the Mt. Scott neighborhood. The house where we live now was custom-built back in the 80s, and it's full of all sorts of fun 80s-isms. It has a NuTone intercom system, a Central Vaccuum, a built-in iorning board, a Hot Tub, a Sauna (still don't understand having a sauna) and one of the most unique features, a large professional Wok in the middle of the kitchen.

A Wok.

Mariah was quoted as saying, "Once we learn how to use it, we're putting EVERYTHING in that wok! ... Dessert, Breakfast Cereal, you name it!"

There are many exciting things you get to do as a homeowner, like learning what all the switches do, getting your skylights fixed in the middle of the wettest week of the summer while you're in Italy, getting quotes for repairs, arguing with the home warranty company, the list goes on.

The most exciting thing we have done in the last month is learn to use the wok.

Step 1: clean and season the wok. It was a little corroded, and needed some help. It's very usable, but you need to keep the seasoning up, or it starts to rust.

Step 2: learn how to light and extinguish the pilot light. Turns out that if you leave the pilot on, the wok and the cover for it get very hot, because there's a flame the size of a candle burning under there all the time. Steel is a great conductor of heat.

Step 3: learn that large amounts of whole vegetables don't cook nearly as quickly, or caremalize nearly as much, as single batches of finely sliced vegetables.

Step 4: get some Peanut Oil or another oil with a high smoke point, and learn to tell when it's ready. The water drop test works pretty well if you don't have another way of telling.

Step 5: good ventilation. We had to get our range exhaust fixed. When you are working with Thai Chiles, you don't really want to breathe in the Mace that is released when you drop them in screaming hot Peanut Oil.

Step 6: don't touch your face or eyes after touching the Thai Chiles (learned this one several years ago, but it bears repeating)

Step 7: don't leave the Wok unattended, and keep the food moving. Burning your food is no fun, and there are safety reasons too.

Step 8: get some recipes that are optimized for a wok. We are really early in this journey yet, but so far we have found one really fantastic one: Holy Basil.

Step 9: find the Asian grocery stores near your house, and learn where they keep the Black Soy Sauce (much better for stir frying) and Long Beans.

Wait WTF are Long Beans?

Ryan holding Long Beans in a DrupalEasy Academy shirt

Kind of like American Green Beans or Haricots Vert, but 16 inches long. In the wok you cut them up into tiny pieces so they cook faster and have lots of surface area to caremelize and soak up the sauce.

Holy Basil

Kai Kaphrao Khai Dao / Stir Fried Chicken with Hot Basil

from Pok Pok restaurant in Portland

(If you don't like spicy food, leave the chiles out entirely. If you normally order "Medium" or "Hot", try half the amount of Chiles and adjust. You can always go hotter, but it's hard to get milder.)

(we also found a few things that speed up the prep: a) a bag of crushed dry chiles, and b) frozen minced garlic in mini ice cube trays)

2 T vegetable oil
1 lg. egg at room temp.
1 T Thai fish sauce
2 tsp. Thai black soy sauce
1 tsp. sugar
11 grams peeled garlic cloves, halved lengthwise and tightly crushed into small pieces in a mortar (about 1 T)
5 ounces ground chicken
1 ounce long beans cut crosswise into 1/8-inch slices (about 1/4 C) (you could easily double the amoutn of beans)
1 1/2 ounces yellow onion, thinly sliced with the grain (about 1/4 C)
6 grams (about 4 fresh) Thai chiles, preferably red, thinly sliced. (start with half this amount and adjust if you would like)
3 or 4 dried Thai chiles, friend and very coarsely crumbled (start with half this amount and adjust if you would like)
6 grams hot basil leaves (about 1 C)
Serves with jasmine rice
Heat wok over very high heat, add oil.  When it begins to smoke, crack egg and cook for about 5 seconds. Decrease heat to medium and cook egg, frequently tipping pan and basting egg, just until the white has set and turned golden at the edges and the yolk is cooked the way you like it.  Turn off heat and transfer egg to paper towels, leaving oil in wok.
Combine fish sauce, soy sauce and sugar. Stir well.
Heat wok again over very high heat.  When oil smokes lightly, add garlic, take wok off heat and let garlic sizzle, stirring often, until it light golden brown, about 30 seconds.  Put wok back on heat, then add the chicken, long beans, onions and fresh chiles.  Stir-fry and break up chicken as you do until the meat is just barely cooked through, about 1 minute.
Add the dried chiles and the fish sauce mixture (add a splash of water, if necessary, to make sure nothing is left behind in the bowl), and stir-fry until the liquid has been absorbed, 30 seconds to 1 minutes more.  Turn off the heat.
Just before you are ready to serve, turn the heat back to high and once the meat is heated through, add basil and stir until it is wilted and very fragrant, 15 seconds or so.
Serve with jasmine rice and fried egg.


And now that it's taken me over a year to write this blog post, I'll bring it to an abrupt end.


Commenting on this Blog post is closed.

Tech Talk: Podcasting

Thu, 04/16/2015 - 10:38 -- rprice

We recorded the session live!
Click here to get the slides!

I was asked by the folks at the Melrose Center to give a podacsting talk. I figure as I've been doing it for almost 10 years (officially will be 10 yrs on 12-31-2015) I have a thing or two to say about it.

Date: 4/22/2015
Start Time: 6:30 PM
End Time: 7:30 PM

 Creating, promoting, and distributing your podcast to reach a potential audience of millions is relatively easy. Podcasting is becoming more popular as many bloggers turn to internet radio shows to get their message out. Ryan Price, creator of the Bringing Art and Technology Together podcast and co-creator of the DrupalEasy podcast, will discuss the basics of podcasting.

Library: Melrose Center (Central branch, 2nd Floor)

There will be some toys, some tools, some light sound editing, some war stories about losing recordings. Stuff. There might even be beers at the end of the night.

Tech Talk Podcasting


Commenting on this Blog post is closed.


Sat, 01/03/2015 - 15:05 -- rprice

This blog post is part of a series I am titling Free Time, to help me organize my thoughts around a talk I will be giving in a few weeks.

I am a person who gets really crazy-nerdy-passionate about certain things. Once I discover said thing, I tend to want to learn as much about it as I can all at once. Then my brain invents 10 things I could do with my new knowledge, and sometimes I even start a project, make some notes, and ask someone to collaborate with me to make one of those 10 ideas come true.

In trying to prepare a talk this month, I am trying to codify the way I want collaboration to happen, and why I am such a big fan.

In the process, I discovered there is a theme: listening.

In order to be successful in Improv, you have to listen and be listened to. The same is true for many of my hobbies: music, open source software, coworking, community organizing, podcasting, and so on. Listening and sharing are my two favorite things to do - about what and with whom just depends on your passion.

You might think this means I think I am a good listener - I'm not so sure. I feel like I often come across as self-centered and like I'm not paying 100% attention to you if we are having a conversation. I do try, I just don't know how often I succeed.

I also tried to come up with a term that describes the thing that is created while you are brainstorming, improvising, code sprinting, mentoring, podcasting, discussing on a forum.

I decided on Virtuous Circle. I am looking for feedback here. Is that the right word?

On top of that, there are times when you move beyond the win-win of a Virtuous Circle and you get something even better. An example of this is when you create the Harold in Improv. These three individual sets of scenes all add their mojo together to make something even more amazing.

Keeping with the Circle as an idea, I decided to call this a Flywheel Effect. If you look up the meaning, I don't think it's a stretch, I just don't know that it's the best word I can use here. Again, I'm looking for feedback.

Finally, I said I am naming the talk Free Time - Community, Code and Creativity, but let's say I'm going to do this talk again. I'm not sure that it communicates what I am trying to.

The point of the talk is that collective action is more powerful, and that the best way to succeed is by creating a healthy feedback loop between contributors an users.

If you read Clay Shirky's Cognitive Surplus, he points out that these kinds of collective actions are now happening during the time we used to drink gin and watch TV.

I guess if you look at the title of Cognitive Surplus, he points out the resource that our free time exposes. Maybe that is a good thing to focus on.

Any thoughts?


Commenting on this Blog post is closed.


Subscribe to Front page feed