Aubrey Portwood

My 2013 New Years Resolution: Be a better Buddhist

| comments

375. Control of the senses, contentment, restraint according to the code… — Bhikkhuvagga: The Monk, Dhammapada


When I began Buddhism, I was excited. It wasn’t hard to become a Buddhist. It wasn’t hard, it wasn’t complex, it was straight to the point.

Many Buddhists (converts) say that it was some amount of suffering that brought them to Buddhism. This was the case for me (and too, for the Buddha himself.) At points in my life I was an Athiest, Agnostic, then Jewish, then something in between Christian and Jewish, then I found Rastafari and Kabbalah. I was all over the place! I’m not sure anyone has suffered from Religion, but I did. It was exhausting, I lacked trust, faith, and even hope.

It was easy to recognize my suffering during this time.

The reason I’m writing this post, is because I feel the same kind of suffering today as I did then. Just over different things. I guess I know something is wrong, something isn’t right within myself.

If the moon was Buddhism, then the light it shown was suffering.

Letting Go

I remember, at one point towards the end of my religious journey, just letting go of it. I didn’t have to pick anything, I didn’t have to believe anything, nor reject anything. I just let go. I remember the feeling of relief. I had learned so much from it that I started studying what the problems were. I wrote them down:

  • My ego
  • My delusion
  • And finally, my suffering

And, I found these things to be apparent for everyone. Everyone is a bit egotistical and selfish, delusional to some degree, and suffered. So, then, suffering became a focus point for me. It was the ego, ultimately, that led me to delusion which led to my suffering. This became my “religion” for a while. I stopped putting myself first, started focusing on other’s instead. I felt like, at first, I was repressing my issues. But really I wasn’t. I was letting go of myself. A few months later I decided to read a book about Buddhism, just by chance. It was pointing directly at the ego, at delusion, at suffering and I was astonished and became a Buddhist.

Moral Principles vs. Meditation & Practice

Since becoming a Buddhist I haven’t meditated much. In fact, at all. Buddhism gives you a clear outline on what brings you to peace and/or enlightenment. It’s called the 8 fold path. It’s basically, in a nutshell, tells you to live morally and practice meditation. And, we all know what it means to be moral on some basic level without ever having to read the Wikipedia article I just linked you to.

Just live morally. Well, I think all religious people would agree with me. It’s hard.

Plain and simple, living morally is very hard. It’s hard to do all the time, but it’s not really hard to do most of the time, or even half of the time. I’ve been pretty good at being moral most of the time. But, I don’t meditate, which is a big part of following the path. But, since I became Buddhist, I could say I’ve been practicing Buddhism-“lite” for the most part.

(Which, I need to add, is still good. If more people just made an effort to live morally, I think the world would be better for it.)

Achieving Mindfulness

Another aspect of Buddhism-“lite” I feel I’ve achieved is mindfulness. I think it’s actually a horrible word to use, because it’s more like analyzing, or looking deeply. Thich Nhat Han describes it best when he tells us to not look at a cloud as just a cloud, when you look at it deeply, you should be able to also see, just as clearly, rain, snow, or tea.

It’s really that simple, but doing it everyday in all things makes it more harder to do. You actually have to take time to think about things. You also have to do a bit of the ego-removing we talked about before. But, for the most part, it’s not hard. It really helps when you’re frustrated, angry, or worried. Just sit down, think about it deeply. Try and see what you aren’t seeing.

Laziness & Complacency

So, in this post I have been describing some of the things that I feel I’ve achieved as a Buddhist. But, I’m going to tell you that, though it sounds nice, I’m actually quite lazy and don’t do any of it as often as I should.

There’s a ton of things I could be doing better. The quote above was written there to remind me that Buddhism is about discipline, control of one’s self, keeping cool, and remaining in a peaceful mindset. You see, I’m not very disciplined. In the back of my mind, I always think that if I could only become a more disciplined person, I could achieve a more peaceful mind.

I’m very much controlled by my desires, which in true Buddhism is the center issue causing all suffering. I eat too much, desire material things and status (I’m leaving some thing out here intentionally). These things aren’t bad to have, but I’m so attached to them that I can’t control them most of the time. It’s unhealthy.

The List

So, I thought I would start off 2014 with a list of things I need to do better as a Buddhist. Not sure how I’m going to do them, but no more being lazy.

  • Find discipline
  • Let go of yourself more
  • Detach from addictions
  • Be moral more often
  • Actually Meditate
  • Attend a community (Sangha)
  • Get Ashley more involved (for support)


| comments

I just posted a comment over on YouTube that I’m kind of excited about. Unfortunately, I can’t post a Vlog which would be most fitting for this. I’ve always wanted to get back into Vlogging (remember the Livevideo days?), but never really got back into it, but maybe I will! I also like Paul’s idea of an “index” (see this video), for Vloggers, which I know can totally be done with WordPress. I might have to write a new plugin that integrates with the YouTube API, and create a new theme geared to work like YouTube, but for Vloggers, but I think it could totally be done easily.

The big idea of this “index” is the ability for other Vloggers and Vlog-lovers to submit people that are Vloggers that other people wouldn’t otherwise know about.

If you’re here because you saw my comment, let’s talk (in the comments below). If you’re a developer, let’s also talk! I’d like to try and build a platform that basically allows:

  1. A way to add a Youtuber to the system because we think they are a Vlogger
    1. Some community-moderated (up-vote) process to approve them
  2. Automatically pull the content from YouTube into the “feed”
  3. Sync content (like comments, likes, etc) from YouTube into the “feed”
  4. Make it easy to subscribe to the “feed”
  5. Make an index of the people added to the “feed”
  6. Categorize people added to the “feed” (and their videos; family, comedy, etc)
  7. Way to filter out “non-vlogs” that are posted by that YouTube user (community driven)
  8. A process to allow a YouTuber to remove themselves, if they want
  9. Monazite it without being annoying

…a community driven index of Vloggers (and their content) for all Vlog Life lovers to enjoy!

If we can talk about this, the next step is to start a couple of development projects to build the plugin / theme to start this off. I can lead development, if I can get Vlogger feedback!

Hash 1.1: IRC/HipChat-like chat system built on PHP, jQuery, HTML, & CSS

| comments

First off, this is my first post about Hash, a “secret” chat project I’ve been working on to replace my personal IRC woes (mainly IRC logging). Don’t get me wrong, I love IRC, but I also love HipChat, but I hate that HipChat list closed….you get the point. Plus I needed something dead simple, no logins, no signups, just chat…

Hash is a simple IRC-like, HipChat-like (mainly in that it has persistent chat), (PHP, jQuery, HTML/CSS)-based chat system. So anyone can use a Hash install to use.

Screenshot showing Hash collecting nick and hash names

Here’s how it works. All you do is create a room (which I call a hash, because you hash things out), and pick a nick. No login. No password, in fact two people (at the moment) could use a single nick or login as many. Then, chat. Notifications let you know when something new is said. Chat history is persistent.

It’s developer friendly, which only really means it’s easy to create rooms, share them, and assign people nicks because the chat uses ?hash=&nick= to start the person loading the hash off with a hash and a nick. Easy for inviting clients into chat rooms by just giving them a link.

Hash 1.1 will continue to make small improvements to make Hash more useful. I have been using it, and it appears to be stable enough to use, again for private purposes. Not sure about public use yet, but I need it for a few new things, and so 1.1 will get those features.

You can try out Hash on my site where you can make a hash and start chatting away with someone else. I’d love to see people use it and give feedback.

Want to help? Check out Hash on Github. There are some issues that need some help.

#wcphx: What I took away from my first WordCamp

| comments

WordCamp Phoenix Logo

So, I’ve been waiting all day to write this blog! The last day of WordCamp Phoenix was awesome! I’d have to say the contributor sessions today were great and really brought home WordCamp for me!

Google Destination URL

I’ve also completed my goal of publishing a plugin during WordCamp Phoenix. You can now use Google Destination URL by installing from the repository. I tried to use as many things I learned at WCPHX while developing it. You can see more about the process from the GitHub commits.

Google Destination URL will allow you to add link in the WordPress editor by searching Google for the link. Check it out.

But! The other part I wanted to blog about was, “What did I learn at WordCamp Phoenix?” I’m going to cover the stuff I’ve retained; the stuff that really stuck out. Let’s start with…

Day 1

The first day was, obviously, my first time at a WordCamp. But, right away I was learning new things! I really think most people owe it to themselves (as a developer) to learn things from going to WordCamp.

During day 1 I learned more about the things that I didn’t know much about before, or didn’t use as much. It was the most informal day for me. The best part was when Konstantin Obenland and Michael Cain did “Cain and Obenland in the Morning” talk-show like event. But it was also awesome to learn some cool stuff from Brad Parbs and Cliff Seal.

Where to always use filters: return;

Brad Parbs told me this one.

The first thing I learned was something that felt like something I should have considered or thought of before. When you’re returning a value from a function, you can automatically give other developers an automatic advantage by allowing someone to hook into the values you are returning. Now I can use filters easily.

I kind-of show how you can do this in this example:

Send PHP data to JS using  wp_localize_script

How I’ve usually accomplished this is by embedding an inline script to set a JS variable with values in it. Turns out WordPress already does this quite well.

In these examples you can see how I setup a JS var called google_destination_url_js on the PHP side.

Using Transients for Caching

Cliff Seal showed us this one.

I had known about transients before WCPHX, but I never really thought about how to use them. In the example below I show you how I cached Google Search results in my new plugin.

If you were to type aubrey, and then modify what you typed to aubrie, the search (on keyup) will return another result (the same result) for a, u, b, and r all over again, even though you already typed each of those chars less than a second ago (while typing).

You can see what I mean in the examples below. I cache each keyup result so that, if the delete button is hit and aub is typed twice in two different searches, we are bugging the Google API once for a, au, and aub.

Day 2

Day 2 was one of those days when I just couldn’t decide what talk I wanted to attend. They were themed into 3 groups, one was client/beginner based, the next business based, and the last one developer based. I would get stuck trying to decide, WordPress Mobile App Development, or Managing Client Expectations from Start to Finish?

Some things I took away from Day 2…

Turn down work that isn’t for you or your company

It’s pretty self explanatory, but I heard this talked about and said so much on Day 2 that it became obvious that taking on work that doesn’t fit your style or company just spells disaster.

You can make Apps out of your WordPress sites

I always knew that there might be a way to do this, but one of the talks that day confirmed for me that, indeed, it can be done.

Look into AppPresser for more info.

I’m still not ready for Capistrano

Though the talk was really good, using Capistrano still frightens me haha! It was probably the only talk where I felt like it would be easier to just make the symlink myself.

Paul Clark Still uses MAMP, and that’s OK! (Varying Vagrant Vagrants)

Throughout the camp, people were raving about VVV (Varying Vagrant Vagrants). Now, it doesn’t frighten me as much as using Capistrano, but I’ve just always just trusted MAMP. But, like I said, Paul Clark said he still uses MAMP, and know what, so do I.

Varying Vagrant Vagrants is from the guys at 10up.

Day 3 (today)

Day 3 is probably my favorite day. I spend all day in a small room with a bunch of other WordPress loving people. The day wasn’t about making money off Websites, or how to use new API’s, etc, it was about the thing I love about WordPress: contributing.

And, the things I took away are:

WordPress people want YOU to get involved

The overall feeling I got from the people in this particular part of the camp was that they really really want people to get involved. It may look like the WordPress god’s in IRC or Make don’t really need your help, but you’d be wrong.

WordPress people are so welcoming to people who want to help, but you kind of got to get in there and let them know. I asked a few questions about how to really get in there and start working on things, and it turns out that if you just show up, you’re probably on the list! But, you need to…

Ask Questions or Get Help!

There were tons of WordPress people that said, “please, tweet me, I will help you out,” the whole time I was there. Brave up, ask questions, bug someone (but be nice).

I plan on bugging Mike Schroder on how to get involved in core…well…because he told me to.

The new way to build new things for core is build a plugin

I asked about how to get involved in building new features, and the experiment with MP6 is still on-going. There are people (and teams) who are devising plans to get new things into core today! They build a plugin, everyone checks it out, and walla it’s in core (or not).

But, if it doesn’t make it, hey it’s still a plugin…Beautiful!

The key is getting in touch with these teams. IRC is the sure way to get involved, and get involved today! Now is the time to do it (as of January). They are working on building teams for 3.9!

And, finally…

The overall thing I took away from the camp is that there is a community. From the far reaches of the inter-webs it may seem like there are a lot of hidden people working on WordPress that don’t need your help. Being my first WordCamp, I came from a place where I knew I could get involved, but (I don’t know how to explain it) there was just something missing…

…It was going to a WordCamp! You’re going to meet those people, put some faces on them, and get a renewed sense to get involved!

WordCamps are also a great place to learn the ropes. Sure you can read up on things, and like me learn through experience, but the “pros” at WordCamps will show you how to box with your gloves off. Plus it’s just an eye-opener. You’ll hear and see things you hadn’t before…promise.

Well, that’s pretty much it! The great people who made WordCamp Phoenix happen deserve more recognition that they probably get! I’ll be coming back next year, I might also be going to other one’s too, who knows!

What did you get out of it!?

Moving to Git

| comments

Among the many things I learned at #wcphx this weekend is that a lot of developers are on Git vs. Bitbucket, so starting with GDU (Google Destination URL), I’ll be moving my public repos to Git (that are now on BitBucket).

So, please note GDU is now on Git.

And, by the way, this was pretty awesome at converting a mercurial repo to Git.

Google Destination URL: Added Caching & Better Ajax Performance

| comments

So, it’s only Saturday and I think I’m ready to deploy this plugin to so I can accomplish my goal to launch a new plugin during #wcphx!

I re-worked a few things…

…and so, I think the plugin is ready to go. I’ve submitted a previous version to the Plugin team and am awaiting a pass/go to deploy the plugin up!

If you want to check it out you can download the tip at BitBucket.

Plugin Progress

| comments

Google Destination URL Prototype

Time to say goodnight. Got a working concept going, but still need to work out a few more kinks. May also rename this to something less Google-specific, like Better Destination URL.

Check this out on BitBucket, or do more reading on #wcphx and why I’m building a plugin.

WordCamp Phoenix, Day 1 + New Plugin #wcphx

| comments

For my first experience at a WordCamp, today was a success as expected! I got to learn all kinds of new stuff (I’ll outline below) from awesome people and even some Automatticians! My favorite part/talk had to be the “Cain and Obenland in the Morning (Afternoon)” where they sang there intro (sorry, no video) throughout the talk, plus I learned a lot more about the theme customizer.

It was interesting to see some Automatticians face-to-face and I met a few other people along the way that knew so much more than me. Registration was probably the most hectic part (done in one location), but after that it was pretty easy. I’m learning that a big part of “learning” WordPress comes from attending WordCamps, as I learned a lot of new kind-of “hidden” things going on in WordPress that I never knew about before. Plus, you get to learn a lot from the audience as well.

The First Plugin

As I mentioned before I wanted to write a plugin this weekend during WordCamp Pheonix. I had a few ideas, and I decided on Add link without having to go find the link, copy, and paste (via Google search). What this will look like is…

Screen Shot 2014-01-17 at 7.12.41 PM

I’ll be optimizing the area where you add a link. Usually I have to open a new tab, “Google” the URL, copy, paste over and over. What I plan to do is make the link textbox do an Ajax search from Google and give you some results to choose from. Nine times out of ten the first few will be your result, click, and you’ve added your link.

I’ll be developing over at BitBucket (about to do the new tab thing I won’t have to do anymore…), and I plan on adding support for WP Markdown (again), since I use that instead of the normal WordPress link-make-r-thingy.

I’m going to #wcphx

| comments

WordCamp Phoenix Logo

Well, I’m patiently awaiting for my first experience at WordCamp Phoenix! Early this year I made a point to get more involved in the things that make me happy, and one of them is WordPress! A big part of getting involved are WordCamps, and although I have been a WordPress madman for years, I have never been to one of these. As the night dies down my anxiety rises as I get more and more excited to experience a WordCamp.

I’ll be blogging

There are tons of talks I can’t wait to attend, like Writing Extensible Plugins, Cain & Obenland in the Morning, Managing Client Expectations from Start to Finish and many more throughout the camp. I’ll be attempting to blog as much as I can. Make sure and follow #wcphx on my blog.

Plans for a new plugin…

While I’m attending this WordCamp I’m going to try and release a new plugin. Still not sure what it’s going to be, but some ideas:

  • Install plugins from GitHub/BitBucket via the Plugin Installer (with automatic update?)
  • Add “stickers” to your site like you do your laptop
  • Add link without having to go find the link, copy, and paste (via Google search)
  • Follow other WordPress blogs and compile a feed in your dashboard for them (Goodbye RSS reader?)

Really depends on the time I have! But, time at Gangplank is sure to happen at some point, a perfect time to write some code and blog!

Make sure and follow #wcphx

Working on a Gravity Forms + First Data Global Gateway e4℠ WordPress plugin!


Working on this plugin has been pretty self-verifying. I was a little worried I couldn’t do it, just because it seemed daunting. But, by moving forward in small steps, I’ve managed to get 60% of it done! And, it’s verified for me that I can do things like this. Just because you are staring at a big task, with mild-to-moderate experience with it, not sure where to start, doesn’t mean you can’t do it! What worked for me was doing things step-by-step.

Plus, I’ve had some people out there doing similar things that have helped through example and their openness! It’s my hope that I can open source this project as well. I’m doing it through work, but I am going to try and get it out there!

I’m not done yet! I still have a lot to finish… Here’s a peak at what it looks like.

How to get Downcast to sync using iCloud to your iOS device

| comments

I had some issues, at first, getting the new Downcast Mac App to sync with my iOS device using iCloud. The problem wasn’t with Downcast, it was with iCloud.

I had to navigate to Settings > iCloud > Documents & Data and check the option to Use Cellular Data. This enabled syncing when you are not on Wifi. I, personally, don’t use documents in iCloud, so I enabled it.

I will publish a review at a later point, but so far so good!


How to avoid plugins_url from breaking due to symlinks when developing Plugins for WordPress

| comments

// Fix the __FILE__ problem with symlinks.
// Now just use ___FILE___ instead of __FILE__
$___FILE___ = __FILE__;
if ( isset( $plugin ) ) {
    $___FILE___ = $plugin;
else if ( isset( $mu_plugin ) ) {
    $___FILE___ = $mu_plugin;
else if ( isset( $network_plugin ) ) {
    $___FILE___ = $network_plugin;
define( '___FILE___', $___FILE___ );
// Here we use ___FILE___ instead of __FILE__
    plugins_url('my-file.js', ___FILE___),

ItemPress is Here!

| comments

The last two nights I had one goal: make something that allows anyone to create and organize content the WordPress way, that doesn’t get in the way of posts or pages!

And so I’m proud to announce that a working version of ItemPress is now live on ItemPress is all about doing all sorts of things. I personally plan to use ItemPress mostly for project management and note-taking, but ItemPress is designed to be about anything you want! It’s ambiguous by nature so you can define your content the way you want.

The power of taxonomy and terms is where ItemPress is the most powerful. I built ItemPress so that new ways to organize and filter your items is as easy as hooking into ItemPress the WordPress way!

I hope that ItemPress enables people to do more things (organized their way) with WordPress (the WordPress way) without bothering your already awesome blog posts or pages.

I’m also dogfooding the project by organizing it using ItemPress.

ItemPress on