KFFP-LP FM Freeform Portland

Freeform Portland

Freeform Portland (KFFP LP 90.3 FM) is an all-volunteer run low-power FM radio station broadcasting and streaming from a cozy little studio on the north side of PDX (within a stone’s throw of its big sister, Xray FM). I’ve been helping with the maintenance, support, and ongoing development of Freeform’s online apps – website, email, an on-air log, wiki, etc. – doing everything from troubleshooting, account maintenance, domain and email migration, and a bit of coding to boot (e.g., fixing non-functioning stream links, addressing API timeouts from the DJ playlist tool, expanding the on-air log data for royalties reporting).

Built with WordPress and a bit of jQuery to pull DJ playlist info for the radio show pages and for SoundExchange royalties reporting.

Live site: http://www.freeformportland.org/

Repository: https://github.com/freeform-portland/kffp-website

Slow Cooker, Crock Pot, and Instant-Pot!

Joining the Instant-Pot Cult

I’d kinda gotten into cooking with a Crock Pot, thanks to having to make batches of chili for pot luck meals, but the “slow” part of the slow cooker never sat well with me. I guess there is a poetic, domestic pacing to having a meal cook itself over 8+ hours, but I’d never been terribly happy with the results, at least from my own attempts at all-day simmers. I’m not sure how I finally got around to ordering an Instant-Pot, but I’m glad I did. It’s an easy and fast way of making a small repertoire of vegetarian goodness at home.

While I’m a voracious meat eater, I prefer not to cook meat at home. No idea why. Anyway, here are some very easy recipes.

Pasta Faux-lognese

A vegan alternative to the ground meat pasta sauce:

  • 1 cup Bob’s Red Mill Textured Vegetable Protein
  • 1 jar of good marinara sauce
  • 1 large onion
  • 1 tablespoon olive oil
  • 1 small can tomato paste
  • 1/2 cup of water

Dice the onion and sautee it in the Instant-Pot with the olive oil until translucent. Add all other ingredients, stir a bit, and cook on the “Soup” setting for 5 minutes. Serve over pasta. Or over polenta.

Vegan Chili
  • 1 cup Bob’s Red Mill Textured Vegetable Protein
  • 1 package of Wick Fowler’s 2 Alarm Chili Mix
  • 1 medium can diced tomatoes
  • 1 medium can kidney beans
  • 1 medium can pinto beans
  • 1 large onion
  • 1 tablespoon olive oil

Dice and sautee the onion with olive oil for 2 minutes. Add all other ingredients (well, maybe hold off on the cayenne from the chili mix, and I use half the salt packet and none of the masa), stir a bit, and cook on the “Soup” setting for 5 minutes. Serve with anything that goes with chili.

Soy Curl Curry
  • 1/2 package Butler Foods Soy Curls
  • 1 tablespoon salt
  • 1 jar Indian Curry simmer sauce
  • 1 large onion
  • 2 tablespoons butter

Soak the soy curls in room temperature water, stir in salt, let it sit for 10 minutes. Chop and sautee onion with the butter for about 2 minutes. Drain and add the soy curls, sautee for another 2 minutes. Stir in the simmer sauce, and cook on the “Soup” setting for 3 minutes. Serve over rice.

Listening Backwards: ‘Between Seasons’ by Buddha On The Moon

‘Between Seasons’ is my third album as Buddha On The Moon, recorded over a lengthy period of “adulting” and released in 2010 on the Sonic Oyster Records label of Glasgow, Scotland. Its tracks navigate between the textural boundaries of gentle dreampop and ambient snowdrifts. The “song” tracks shy away from obvious rhythmic guide rails and move along at a sway, while the alternating soundscapes serve less as sonic interludes and more like stretches of highway hypnosis between cities and small towns.

It is the third album from Buddha on the Moon, a Texas-based sonic escapist exploring and obfuscating the gray boundaries of song, drone, and soundscape.

BotM’s previous album, ‘The Last Autumn Day,’ came out in 1998, and the near-dozen intervening years should have been sufficient for at least a half-dozen more albums; but not existing as a proper band, with no time tables for rehearsals, shows or tours has a way of stretching time and so conventional norms of schedule or agenda become obsolete.

As such, ‘Between Seasons’ came about at its own pace, on its own time and space, recorded, sampled, processed and tweaked, mixed and remixed, forgotten and rediscovered over a period of four years using a wide array of digital and analog media, mountain dulcimer, kantele, guitars and basses acoustic and electric, various synthesizers, and a collection of ‘modestly-priced microphones’.

— Sonic Oyster Records

Originally released as a limited edition cd-r of 50 copies on the Sonic Oyster Records label of Glasgow, Scotland.

Sounds & Words: Buddha on the Moon
Additional Voices: Nancy Novotny

Thank you Andrew, Ian, Keith

For Nan

A Can-do Attitude

It’s krautrock night at the Hollywood Theater! #onlyinportland #outonaschoolnight

My favorite part of the documentary has to be the bit where Malcolm Mooney and Damo Suzuki meet up. Someone should write a sweet little tune about that.

Setting Mautic Afloat in the Cloud

For the past couple of weeks, I’ve been working with Mautic, the open-source inbound marketing automation tool. Thus far I’ve set up Mautic on:

  1. Cloud 9 development environment
  2. Heroku (unsuccessfully – see below)
  3. Digital Ocean Droplet
  4. GoDaddy Virtual Private Server

With the current version, Mautic dropped support for Postgres, which seems to be the database of choice for Heroku (I set up one of our Epicodus group projects there and had to migrate the database from MySQL to Postgres), and trying to get the app to work with CloudDB and Google SQL weren’t terribly successful. So, no Heroku for you. Or for me. Continue reading “Setting Mautic Afloat in the Cloud”

The Safety Zone

The Safety Zone, an Occupational Health & Safety portal

The Safety Zone assists organizations to comply with occupational health and safety regulatory requirements by providing a single point of interaction and access for EHS (Environmental, Health & Safety) policies, procedures, materials documentation, and incident report management.

Built with Drupal 7, PHP, MySQL, MaterializeCSS, and Adobe Captivate for training content. Created locally with MAMP/WAMP and initially hosted on Pantheon, migrated to a Cloud 9 workspace and deployed on a Digital Ocean Droplet and a Google Cloud Compute Engine Instance.

Live site: www.safety-zone.info

Repository: github.com/eeronomicon/safety-zone

Hanging a Shingle with WordPress!

I finally did it. After how many false and less-than-true starts, I’m publishing content related to me! A number of these previous iterations had been either standalone HTML/CSS/JS creations or a handful of Drupal 7/8 installs that stalled out. Turns out that good old WordPress seemed to be the fastest way to get posting. Customizations, Material Design revamps, groovy plugins are somewhere down the road, but first things first, content.

These are little notes to myself, filed under “TILT” (Things I Learned Today). I intend to keep ’em coming.

The following links were invaluable in prepping the deployment environment and getting this site up and running in very short order:

  • https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04
  • https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04
  • https://www.digitalocean.com/community/tutorials/how-to-install-and-use-composer-on-ubuntu-16-04
  • https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-on-ubuntu-14-04
  • https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-12-04

The Composer and phpMyAdmin links aren’t as germane to this particular deployment, but they’re great references for other applications, namely Mautic.

Addendum: in order for pretty paths to work, not only does the .htaccess file have the proper permissions to be written by the server, the Apache .config has to specify AllowOverride All (n00b error of not having the correct path resulted in /headdesk for a goodly while).