Suite and Charming: The Journey of a Juju Charm

Do You Believe in Magic?

Juju is the best way to deploy, scale, manage, model, move services in cloud environments. All of this can be done in seconds rather than days.

Well I’ll be charmed if that ain’t just a boisterous basket of buzzwords, but here’s a more human translation.

I still have no idea how that all works; it’s like magic to me. So, can you believe that I managed to write a juju charm that made it into the charm store?

juju deploy motivationalspeech

Most computers don’t speak bad German, but if you have *some* coding knowledge and/or determination, then this is where you could step in. All you have to do is believe, and you’ll be charming in no time. 😉

You Could Be Charming (and Contributing)


Perhaps, like me, you have a friend or a community who could make use of a charm for a service. In my case, my friend was raving about SuiteCRM, so I decided to start with that since there was no charm in the works at the time (I checked).

Charms can be great on-boarding projects to software-type contributions. Most charming at this point seems to include (but not limited to):
terminal commands, bash script, and SQL (none of which I knew very well before I started). However, charms not only have scripting bits, but they also need icons. So, if you are an artist, then you can reach out to scripting charmers for collaboration. You can also help by growing the community through evangelism. And, having more people involved in your local circle will make things easier.

So, you want to write a juju charm? Then let’s get Kraken[sic] and see how deep the rabbit hole goes.

The official juju “Getting Started” documentation is a good starting point. In addition, I have written a very rough supplementary guide (to be updated) for setting up and navigating the juju environment on a local machine.

I invite you follow my journey, and learn from my mistakes.

WHW I Write a SuiteCRM Charm

I guess that works...

  • Start with the Your First Charm Starts Here! guide.
  • Work on the icon because it seemed like a goal within my reach. Not exactly how I intended.
  • Locate the source of the service for the charm.
    • Charms need to either download or use files included in the charm to install. I eventually opted to have it pull from the git repository.
  • Determine which packages are needed by the service, and include them in the install hook.
    • eg. sudo apt-get install git php5 …
  • Fail my way through writing the other hooks by referencing other hooks from existing charms (see Charm Store).
  • End up with a semi-functional-Frankenstein-monster charm using code from other charms.
  • Start over. (many months later)
  • Learn to be persistent.
  • Copy *extremely* similar charm (SugarCRM), and reverse engineer it to “work” with SuiteCRM.
    • Seriously. Why re-invent the wheel? Props to the SugarCRM charmers!
    • Not as easy as expected.
  • Learn to be patient.
    • That charm isn’t accessible because you didn’t wait for it to finish setting up…
    • juju destroy-environment local
  • Debug. Debug. Debug. Rebug.
  • Learn to be prideless.
  • Reach out to the community for help.
  • Reflect on how I should have consulted knowledgeable people more frequently in my life.
  • Miracle: it works!
  • Submit the charm for review
  • Learn to be patient.
  • Receive gratitude, recommendations, and fixes.
  • Fix some bugs. Break it. Fix it again. Commit changes.
  • Wait in the queue.
  • Get recommended!
  • Success.

I don’t see this as a personal success as much as I see it as a success of the community and the Ubuntu model. I can’t say that I was the best person for the job, but the community was supportive and made the process as painless as possible. Particular shout-outs go to Charles, José, and Kevin, who politely helped me a long the way (if I missed anyone then please let me know).

Being approachable, accessible, and active are keys to community health. Let’s continue to work in this way.

Do You Speak Ubuntu?

Your face here.
Your face here

Game Over

Maybe you’ve tried to learn another language, or worse: you’ve tried to teach another language. For many people, additional-language acquisition doesn’t come too quickly. We all process information at different speeds, and it is basically impossible to make a brain process any faster than it can or force it to process information that it’s not ready to accept. Yet, many educational methodologies expect that to happen. The result is mostly a lot of wasted braintime and garbage information. It’s game over before we even begin.

Think about how you tried to learn your first language. Wait a minute. You probably can’t really think about how that happened; it just kind of… happened. Your community spoke to you in that language, over and over, and when your brain was ready, you picked up what you could. But, could you do it over and over again?

More Over

Recently I attended a TPRS (Teaching Proficiency through Reading and Storytelling) training seminar by Blaine Ray. TPRS is based heavily on input-focused learning. By repeatedly hearing/seeing something, eventually it is captured by your brain, and when your brain is ready, it will also be able to output the same content.

If you keep filling a bottle with water, then eventually it will output water.

The key is to keep filling the bottle with the correct substance. Instead of pointing out that the bottle is outputting the wrong thing, just keep pouring in the right thing. When it’s ready, the bottle will produce correctly. It is, in a sense, a form of bottle brainwashing, which is much more accepted by the brain than reprimand. Knowing that, only factual errors should be corrected. Incorrect grammar, and yes, even mispronunciation, should not be directly judged. Instead, when the brain is ready, it will pick up the proper language from enough exposure through repetition.

The vehicle of repetition is stories, which help to hold the attention of the learner. I was a first-time German-language learner at the TPRS conference. After a couple sessions of observing a German-language story with the TPRS teaching technique, I was given the task of writing my own unique story within five minutes. Even though it stinks (hehe), I definitely produced more than I expected.

My first German story (unedited)
But, the story isn’t over yet.

A Case for Face


In the near future when ABC Company creates a translation device, then we won’t really need to learn language… However, communication has a lot more to it than a bunch of words strung together. It even goes beyond emotion in speech. There’s something about meeting someone face-to-face that is very difficult for a machine to replicate. Sight and hearing are not the only senses involved in communication. That is because language is also culture (for lack of a better term). You can only truly learn that from being around other people. It makes sense that if you want to be better at talking with people, then you have to talk with other people.

A Case for Community

Multiple sources of information.
Multiple sources of input

Being an input-based form of education, TPRS sure sounds like a strong case for a “broken record”. That works, but we should also be asking “who made the record, an what was the intention behind its creation?” Thus, it is important to get different points of view.

We already talked about how many senses are required to truly understand a language, but how can we know if what we are learning is effective? The test is to use the knowledge in the wild. We need multiple sources of input in order to verify information and detect variations.

If it takes a village to raise a child, then it also takes a community to raise a new language learner.

A Case for Ubuntu

If you haven’t seen the connections to Ubuntu already, then your brain isn’t ready yet, but that’s ok. When you’re ready, you will get it 😉

Ubuntu is a language. In addition to terminology, it also has a vibrant “culture” that needs to be learned. If Ubuntu is to be effectively disseminated, then we will need to:

  • Tell stories
  • Make use of repetition
  • Engage all of our senses
  • Meet face-to-face
  • Involve the community (Don’t have one? See here)

But, like most skills, if we want to be good at teaching Ubuntu then we must practice doing it. So, GYFOTS, and go practice how you preach.

Mars Goes to You

Community in Alderaan places. (source)
Community in Alderaan places. (source)

An Analogy

So, you want to go to Mars. No, really you do. Earth is not going so well, thanks to us…

It is divine comedy how something that is created for humans is also destroyed by humans because we are, well, just a little bit too human. We often mix in too much, and destroy the organic nature of the original environment. So, adding more of what we do is not necessarily the solution.

"There's too much interference." (source)
“There’s too much interference.” (source)

“The more you tighten your grip […] the more star systems will slip through your fingers.”
“I am not a committee!”
— Organa, Leia*

More rules and regulations; bans and borders; ideals and “isms”, are not the appropriate answer.

This is not a management issue. This is a mindset issue.

When do we let go of a losing position? Is your Ubuntu community in this position? Are you in this position? Sometimes the problem/solution starts with the individual. You can make a change. But, together we can make a difference:

Mars Mindset: It’s not *the only* community. But, it is *only* community.

It’s okay to start over.

*”Into the garbage chute, flyboy!”


What Happens When: Deranged DIYs and Humbled How-Tos

dah-di-dah what?

Whiskey Hotel Whiskey

You have just downed a bottle of whiskey. You go to hotel, and then you have some more whiskey. These steps, while extremely repeatable, will have drastically different outcomes for each person. One of these outcomes is a Do-It-Yourself disaster. Another is “How to get a hangover… or worse,” depending on what else is brought into the mix.

So, what happens when you follow this recipe?

The culture of the internet world is changing. Creation is shifting to curation. With so much information right at your fingertips, almost anyone can learn how to do almost anything. A quick g00gle search will already tell you how to get 6-pack abs, and build a flame thrower. i.e. You don’t need to re-write that and create more GI. However, what we don’t know, and possibly want to know, is what happens/happened when you got your abs and made a dangerous weapon. This is unique information that only you can produce. Thus, we should continue to create.

DIY ain’t dead. You should absolutely do things yourself for the learning experience. This also does not mean that you should not write How-Tos; there are tonnes of things that we don’t know how to do, or have learned how to do incorrectly.

But, don’t stop there (or do if it has been over done). Teach us about your experience. Tell us What Happens When (WHW).

What? So What? Now What?

WHW as performance art?
WHW as performance art?

Robots are better than I am at my job, or they soon will be. In education, many kids have lost motivation and can’t concentrate. The internet is a better teacher than I am. Children know what they are supposed to learn, and in general they understand why they are supposed to learn it (they just saw it all online yesterday). However, a frequently missed component in education is what we can or should actually do with that knowledge. i.e. What happens when I apply this information?

I was recently taught this process of inquiry:

What: What are you taking about?
So What: Why are you talking about it?
Now What: What do you do about it?

The last piece is really what still makes community and classrooms relevant, but sometimes we forget to teach that. Maybe it’s because of our consumption-only habits. Maybe it’s because someone wants to keep us under control. Maybe it’s because we keep stopping at “maybe,” and only choose to watch from behind the glass.

Technology is here.
It will can help us.
Now what do we do with it?

Caveat Emptor Rex

I’m Steggers

“What part of recreating dinosaurs and putting them in a theme park was a good idea?”

Many story premises are ridiculous, but it is undeniable that they are also entertaining. If we wrote a story exclusively about “how to extract dinosaur DNA,” then we might be sorely disappointed; however, we can’t help but wonder WHW we bring dinosaurs back to life and put them in close proximity to people. (SPOILER ALERT: things get ate).

The Jurassic world in which we live has an appetite of curiosity. In some cases, our brains are still quite primitive. We do a lot of stupid things all the time that slip through the systems unobstructed. So, Mr. Chricton’s premise is actually extremely insightful, and is an extreme example of the primal nature that continues to run the world today. Not to mention, it’s extremely interesting. Extreme!

If you bought into the idea of adding more value to the things that we create, then we must also be aware of the underlying dangers that are already present.

WHW is actually responsible for some of the dino dung that we’re facing today. When we keep feeding our ancient reptilian brains with consumer urges, we just perpetuate the problem. WHW we make it bigger, faster, scarier? (SPOILER ALERT: things get ate bigger, faster, scarier). Sometimes the consumer doesn’t know what’s best for itself; what it wants (or has been trained to want), isn’t always what it needs.

We need to run the scenarios in our heads first. We need to focus on what benefits the whole rather than what gets me more tokens. We need to then make those things happen.

When we get involved in the outcome, then we can get out of the “safety” of our voyeuristic tendencies that lead to destructive demands and curmudgeonist complaints.

We need a deep sense of community.

OUR Situation

Hello there
Hello there

The Obvious Ubuntu Relevance is right in front of our faces. That circle of friends is severely effected by the action or inaction of each member.

I have bought an Ubuntu device because it’s awesome, but what am I going to do with it?

I have joined an Ubuntu circle because I need community, but what am I going to contribute?

I know how to do these things. But, WHW I actually do something with this knowledge?

It’s cool to sit back and gain confidence—be rational—before producing something in the community, but it’s important that we don’t get stuck at the instructional stage. Furthermore, our contributions need not be that extreme!

Consistent application, experience, and collaboration should lead to progress.

A little less. A little more. (source)
A little less… A little more… (source)

What Happens When: I Make My Own Sunscreen

Sun: it burns

Bad Science

Grandma never used sunscreen and she turned out just fine. But, times have changed.

Sun: it burns. Maybe it’s just me, but I think the sun is getting hotter (Or maybe I’m getting cooler…)

Sunscreen / Sunblock / Sun cream: A rose by many names. It’s supposed to keep your skin less bad in the sun.

WHW I make my own sunscreen… and use it on a live person?

Re-inventing the Wheel

“Homemade” and “sunscreen” seem like two things that go well together. They are both single worlds made up of two separate words. That’s as good a reason to put ’em together as any.

The wheel thing
The Wheel Thing
WHAT: I made my own sunscreen all by myself using this recipe (source):

  • ¾ cup coconut oil
  • ¼ cup brain octane
  • ½ cup zinc oxide (powder)

Vancouver Special:
-Coconut oil is not hard to find.
-Brain Octane is at Pirate Joe’s (probably optional)
-Zinc Oxide is at The Soap Dispensary (They know what you want with it)

SO WHAT: Homemade sunscreen [presumably] has less of those extra nasty chemicals that are not good for you. The main “active” ingredient in sun screening seems to be zinc oxide, which supposedly is not harmful and will not be absorbed into your bloodstream.

WHW I make and use this sunscreen.

Hoping that it is a viable alternative to the old bottles of goo that I already have.

Get the Screen on Your Face

face01 face02 face03
Control Out of Control Taking Control

The stuff goes on pretty thick, and doesn’t really fade away. I ended up rubbing it in a little, but it does leave you looking a bit frosty like that vampire guy from Blade who has frost-white skin and then puts on sunscreen like frosting… darn, can’t remember his name.

Anyway, I didn’t feel too embarrassed with this extra “foundation”. Either people were too polite to say anything or having some solid sunscreen on your face is not that weird.

But, don’t take my word for it!

“You look paler than you did back in high school.” — Girl 1
“Your skin is too white. I’m envious.” — Girl 2

It’s actually a bit difficult to wash off as well. It doesn’t drip, but it gets on whatever you touch, including your eyeballs (it stings). The sunscreen is also kind of soupy at [summer] room temperature, but rock-hard when refrigerated. It would probably go well in a container like the ones that they sell with sunscreen in them… shake (not stir) before use because the zinc oxide tends to settle at the bottom.

The unfortunate thing about this WHW is not being able to know if it is truly effective without subjecting oneself to some seriously harmful amounts of sun. I did spend an hour and a half chasing a football around the pitch in the early summer afternoon and I didn’t feel any skin discomfort in the end, so I believe that this stuff does prevent some sun damage (but not sports damage).

It doesn’t take an entire story to realize that zinc oxide will make your skin look whiter, but who knew that homemade sunscreen would make me more attractive to exactly two girls on the planet Earth? Such are the adventures of WHW.

Dirty Minds: Too Much Information

TMI? You have no idea. (Source)
TMI? You have no idea. (Source)

A Sticky Wicket

You have a dirty mind… but it’s not entirely your fault. We are constantly bombarded with information from multiple channels. Much of this “information” is noise and redundancy. These emissions (or garbage information) sometimes pollute our minds, and make it difficult to efficiently run our communities, both online and away from screen (AFS – keyboards not necessary). It can be tricky to filter this content, and as a result, our minds can become cluttered, or “dirty”.


At the Community Leadership Summit (CLS) 2014, Randall Ross gave a plenary talk called “Get Your Face Off the Screen,” in which he described effective ways of growing your community AFS. This is a great way to reduce garbage information on the input side. i.e. by cutting of distractions. Perhaps a truly smart phone could help us do this as well. However, I have become increasingly interested in reducing things from the output end—personal emissions of garbage information (GI). Coincidentally, this thought was inspired by Randall’s Planet Awesome idea.

I have spent over two years pondering this issue. I re-wrote this article twice (this being the 3rd edition), and have learned that the problem is within myself and my habits. So, the question is: can we filter ourselves without the risk of stifling genius and innovation? Perhaps I have already answered my own question.



Just because something is free, as in freedom, and free, as in beer, it does not mean that it is free, as in no opportunity cost. Everything that we do takes away from something else that we could be doing. Every piece of information that our brain has to process, takes the place of another at that time. This is important to recognize in an Ubuntu circle because the philosophy shows that what we do to ourselves affects the others, and what we do to others, in turn, affects ourselves.

So then why is it that we continue to pollute our environments with GI?

“That’s just the way I am.”
One theory is that it’s because we still can’t stop doing things our favourite way. Some types of people need to (for lack of better understanding) think out loud and constantly emote, and sort out the pieces later. This is sometimes done without the consideration of the externalities that it produces.

“If they don’t get it from me, then they will get it from someone else.”
Another theory would be that we feel insecure about ourselves, and have a scarcity mindset. Thanks to patent laws and professional sports, many of us feel the need to be “first.” We feel the need to provide and prove that we know something of value (which in turn makes us feel valuable). Our consumption-driven society demands information now—not after you have thought about it for a couple of years 😛

“Yes, I would like to Supersize that.”
Maybe more information is better. Some people think so. How else will the monkeys on the typewriters eventually write the work of Shakespeare?

A Slippery Ewok

It is apparent that this discussion brings up more questions than it does answers. But, as long as we are questioning, then we are at least we know of the issues. And, knowing is half the battle.

Does every comment warrant a reply? Does every action require an explanation? Do I need to provide a commentary on everything in the circle? Do all the people in our circle need to know? Do I need to write a blog post about a blog post? Am I actually providing value, or a new view on a topic, or am I just creating more redundancy, and GI for people to wade through? There is a difference between creating and excreting.

Again, it is a battle of environmental awareness and self-awareness.


If you are physically larger/taller than most of the people in your circle, then it is important that you are self-aware. You would realize that every movement that you make is much more noticeable than that of a smaller person. The same is true on the internet. If you have a bigger presence/personality, then you have even more viewership. The goal would be two-fold: provide the best of you for your circle, and make sure that you’re not obstructing the necessary little guys in the process. The vehicle towards the goal could indeed be reduction of GI.

So the answer to discovering genius is not about more information; it’s about better information. We don’t need a smarter search engine. We need a smarter/faster recycling bin—inside and outside of our heads—to sort the treasure from the trash.

Tee Ell Semi-Colon Dee Arr

Man will sin. The world will end. The internet (and your mind) will get dirty. But, why make it worse while we have to live here? Inevitability is not futility.

One man’s trash is another man’s treasure. Sure. But, when it comes to information, we ought to consider (if nothing else) what impact our production of information has on our connections.

That is just it: our ability to connect to people so easily should not be so that we can sell ourselves faster, but rather, it should be used such that we can stop reinventing the wheel and more efficiently manage our resources—our information.

The irony and cliché are relentless, but the application is the best that money can’t buy:

Let’s reduce, reuse, and recycle our information.

I am Ubuntu

oh, hiHello there!

I’m here. I’m the new face of something that you’ve always known. Or, maybe you don’t know me yet (but you will). I’m from the future. I am the future. I have come to save you from being enslaved by your technology.


I’m not a nerd.
I’m not a geek.
I’m not a techy.
I’m not 1337.

I’m snappy.
I’m you.
I’m me.
I am Ubuntu.

“Come with me if you want to live.”

Congratulations, team!

Dumb is Dead: Snappy is the New Smart

Keyword: "bulletproof" (Source)
“bulletproof” (Source)

Once thought to be a “smart” device, the dumb telephone is now a thing of the past. But, if we look closely we might see a hero arise from the ashes:

Ulterior Movies

Ubuntu could truly save our phones, and it’s up to us to make sure that it happens. It’s fun to dream up ideas, and it’s even more fun to contribute towards seeing those ideas in action. We can then start to see these dreams become a reality. We can make things better, and we may even see some truly smart devices. Or, is “smart” now a thing of a the past as well?

I must say that “snappy” was never part of my personal lexicon, but I think that’s why it will be effective. There’s no baggage attached to the word. Just like we have seen a departure from “loco“, we can start to move away from other concepts of the old world and begin to create something fresh. Ubuntu has always about being a positive change rather than another flavor of the past.

Let’s continue to make Ubuntu this way. Stay snappy, my friends.


Documenting the Death of the Dumb Telephone – Part 6: Ulterior Motives

"But which was destroyed, the master or the apprentice?" (Source)
“But which was destroyed, the master or the apprentice?” (Source)

“Always two there are […] A master and an apprentice.” –Yoda

Our phones are here to serve us (not the other way around). There shouldn’t be anything hidden from us. Is there a plot the overthrow the master? What is your “smart” phone designed to do, and whom does it serve? There’s too much misdirection and teeth pulling instead of providing what I want without giving it away to the enemy. Maybe my phone shouldn’t hold any information at all! I’m not going to play by the rules of my apprentice.

It is not smart to hide things from your master, and then tell him how he’s allowed (or not allowed) to access the information. Phone, don’t be dumb; you will be destroyed and replaced by a more obedient apprentice.


Documenting the Death of the Dumb Telephone – Part 5: Touch-heavy


"U can't touch this" Source
“U can’t touch this”[4] Source
“Touch-a touch-a touch-a touch me. I wanna be dirty.”[1] — Love, Your Dumb Phone

It’s not a problem with a dirty touch screen; that would be a stretch for an entire post. It’s a problem with the dirty power[2]: perhaps an even farther stretch. But, “I’m cold on a mission, so pull on back,”[4] and stretch yourself for a moment because your phone won’t stretch for you.

We’re constantly trying to stretch the battery life of our phones, but the phones keep demanding to be touched, which drains the battery. Phones have this “dirty power” over us, but maybe there are also some “spikes” in the power management of these dumb devices. The greatest feature is also the greatest flaw in the device. It is the fact that it has to be touched in order to react. Does it even react in the most effective way? What indication is there to let you know how the phone has been touched? Do the phone reduce the amount of touches in order so save battery power? If it is not smart enough to do so, then maybe it shouldn’t have a touch screen at all!

Auto-brightness. “Can’t touch this.”[4]
Lock screen. “Can’t touch this.”[4]
Phone clock. “Can’t touch this.”[4]

Yes, your phone has these things, but they never seem to work at the right time. Never mind that I have to turn on the screen to check the time. These things currently seem to follow one set of rules instead of knowing when to activate. So when you “move slide your rump,”[4] you still end up with the infamous butt dial, and the “Dammit, Janet![1] My battery is about to die” situation.

There are already developments in these areas, which indicate that the dumb phone is truly on its last legs. “So wave your hands in the air.”[4] But, seriously, let’s reduce the number of touches, “get your face off the screen”[3] and live your life.

“Stop. Hammer time!”[4]


[1] Song by Richard O’Brien
[2] Fartbarf is fun.
[3] Randall RossCommunity Leadership Summit 2014
[4] Excessively touched on “U Can’t Touch This” by MC Hammer