On Partially Closed Systems (or why businesses should share more)

Sometimes it is just silly not to share.  Take for instance mouser and digikey’s refusal to make a cost API available1 or Polulu’s refusal to share their 3D image files for their products.

I say these are partially closed systems because, for whatever reason, the system controllers refuse to facilitate sharing.  But, such websites and products as those mentioned above are only partially closed systems.  The problem with partially closed systems is that those portions of their systems that are public facing (a website or the physical dimensions of their commercial products) are not only available for public consumption, but they’re public facing because their business model requires it. 2

Now, I’m not advocating the need for open sourcing or sharing absolutely everything. 3  I’m just suggesting that facilitating the publicly available aspects of your system makes sense when it means you’re enabling your customers and clients and allowing them to better consume your products.

I suppose it is possible that a company’s competitors might misuse such knowledge, but it is almost trivial for those same companies to accomplish what one dedicated person can do by themselves.  While Amazon and Buy.com used to use a system that only allowed you to view special promotional prices when you added that item to your cart, it doesn’t appear as if Amazon does this any more.  I haven’t visited Buy.com in a while, but I would be a little surprised to see if they did.

The problem with any partially closed system is that it only takes one person to defeat the system.  Worse, no matter how much money, time, and resources you throw at the problem, it will never be enough.  Somewhere in the vastness of cyberspace there is one hacker4 who will work around the clock fueled by unlimited amounts of caffeine, nicotine, alcohol, and hot pockets.  And they will do it for free.

Ultimately trying to prevent access to a partially closed system is useless (those measures will be circumvented) and counter-productive (since that information was already made public).  The only people who are truly deprived of that information are those could do the most for the company holding the partially closed public information.

  1. No longer there.  Bummer. []
  2. An e-commerce website without prices?!  A physical product that has no physical dimensions?? []
  3. In fact, I like the idea that creators of intellectual property can reap financial rewards for their work.  Perhaps it is because I some of my own income is derived from my own intellectual property.  However, I think rewarding content creators for their efforts is probably a good thing even outside of my own selfish desires.  I believe that incentivizing work and the creation of content is a good thing and critical to a well-functioning capitalist society.  That said, I love open source hardware and software projects and actively devote my time and efforts to both. []
  4. I say hacker to mean a person in the strictly technical, non-perjorative sense, of one who makes use of things in ways they were not originally intended. []

Can you tell I’m trying not to work?

I’ve been sick the last few days.  Yesterday I thought I was feeling pretty good and ran a bunch of errands.  By the time I got back home and took care of a few small projects around the house…  I was totally wiped.  It felt like someone had just pulled the plug on me.  Obviously, although I’ve been as weak as a kitten, I’ve been posting all kinds of nonsense. 1

  1. Amazingly, as much as I’ve been posting this month…  this has only been my third most prolific month ever. []

TARDIS’s are more practical than you might think…

You could use a prop TARDIS for a tool shed, chicken coop, garden shed, file cabinet, etc.1

But, as I was watching that video of Sillysparrowness build her TARDIS, I couldn’t help thinking…  This is a time and relative dimensions in space device – why does it need to be enclosed?  As long as you are going to use it as a prop, rather than as a storage device of some sort, you would really only need the front, the left or right panel, and the top.  Admittedly, then you could only take front or 3/4 perspective view shots.  If it were modular, the left and right sides could be swapped back and forth so you could take a left or right-sided 3/4 view picture.

If constructed in such a fashion it wouldn’t take up much room if you were to put it facing into a corner.2

  1. A place to change clothes very quickly before you go off to save the world? []
  2. NOBODY PUTS BABY IN A CORNER! []

I had a dream last night

One of my favorite songs has this line in it, so I just like saying and writing it.  So much so that I’ve used that same exact title for three posts, including this one.

Okay, so, in this dream a huge package arrived from MakerBot.  It contained a bunch of spools different colored plastics, a brand-spanking new Replicator, and a galvanized steel industrial strength sewing machine as big as a saw horse.  I’ve never seen a sewing machine that big, so it was entirely an invention of my mind.  And, now that I think about it, I don’t even know how it would even work.  I recall thinking, in my dream, that the thing was strong enough to sew a stack of denim jeans together.

Um, there’s not much else to this post.  I suppose the dream was probably about my excitement over a new delivery from MakerBot so I can finish my DrawBot and the prospect of getting a Replicator one day. 1

  1. I think now that we have two 3D printing robots, Bender the Cupcake CNC and Flexo the Thing-O-Matic, an Egg-Bot, and I’m in the process of building a drawing robot my wife has caved to the sense of inevitability that whatever new robot MakerBot produces I will buy. []

Twitter.com Frame Escaping Code

<script>
function bust () {
  document.write = "";
  window.top.location = window.self.location;
  setTimeout(function() {
    document.body.innerHTML = '';
    }, 0);
  window.self.onload = function(evt) {
    document.body.innerHTML = '';
  };
}
if (window.top !== window.self) { // are you trying to put self in an iframe?
  try {
    if (window.top.location.host) { // this is illegal to access unless you share a non-spoofable document domain
      // fun times
    } else {
      bust(); // chrome executes this
    }
  } catch (ex) {
    bust(); // everyone executes this
  }
}
</script>

Late Night Musings

I have a feeling this might be a long-ish post.  Buckle up!

There’s a line from one of Douglas Adams books that I just love to quote.  I don’t just love to quote this bit, I love to say it fast.  I don’t just love to say it fast, I love to say it fast to people as I’m taking my leave. 1  But, it’s also a way to wish someone well.2  Here it is, “Do what you do.  Do it well.  Win awards.”

I find myself in a ponderous state of mind having watched that little Youtube video of a woman building her own TARDIS.  A few short weeks after posting that video she posted another video about how shocked and pleased she was to have gained 5000 subscribers on Youtube.  I think I’m not really all that surprised at that success.

Here’s the thing – the “risk-takers, the doers, the makers of things” … the attitudes of such people is just plain infectious.  When you see someone just put their all into something, you can’t help but be caught up in their enthusiasm.  Perhaps it is just all this sharing?  Perhaps it becomes easier to empathize, to revel in another’s victory and wince at their failures when they’re sharing every little piece of themselves along the way.

When I look across the blogs, pictures, videos I’ve seen over the last few years from the Maker movement I can’t help but think about how almost heartbreakingly honest they are. 3456

I guess here’s what I’m thinking is that if this Maker movement has taught me anything at all, it is that no matter what – you should find what you love to do and do it as hard as you can. 789

  1. I suppose this much is self-indulgence and looking to amuse myself. []
  2. Sort of. []
  3. I’ve tried to teach my daughter not to be afraid of failure, but to embrace it.

    Tonight she was having trouble fitting some building toys together and getting very frustrated with them.  I asked her if yelling or getting angry would help.  She, of course, replied that they wouldn’t help.  Then I asked her if she thought her mother or father ever got frustrated.  She didn’t think we did.  I told her that we did all the time – but that it’s how we deal with that frustration that’s important.  I told her I get frustrated sometimes when I’m designing something for us to print on our robot, or when I’m programming, or when we’re trying to fix something – but that the best thing to do is always just try another way.

    I know she doesn’t entirely grasp these concepts yet, she is after all only five.  I’m sure she sometimes thinks of me as that jerk who, when she asks for help, tries to engage her with a bunch of Socratic questions rather than just helping.

    Then again, she managed to completely assemble an exact replica of the object in her building toy instructions without my intervention. []

  4. It’s so funny being a dad.   There’s this little person living in our house…  I have shoes older than her.  I’ve known her all her entire life.  And for those very earliest years when I’ve known her so very well, she’ll probably only have the very dimmest recollections of me.  This I say without any trace of melancholy – I am quite hopeful and cheerfully optimistic that I’m really going to like the creative, intelligent, and sensitive person she’s probably going to be. I’m also hopeful that one day she might find her way to this blog and see some of the nonsense that I’ve written. []
  5. Admittedly, a bunch of this stuff I’ve written here, as with a half-ill-advised e-mail, I would feel so very self conscious about. []
  6. Uh, where was I? []
  7. And, perhaps win awards. []
  8. Tying that all back together was entirely serendipitous. []
  9. Subconscious? []

She built her own TARDIS!

I just can’t help it.  I’m such a sucker for DIY Doctor Who stuff.1

Until now I had only known about Project Dalek for people who wanted to build replica Daleks.  I suppose I should have known, but never thought to have looked it up, that there’s a whole website devoted to building TARDIS’s.  This lady’s build log on that site is nearly as entertaining as her Youtube video.

  1. Ladies and gentlemen of the jury…  Exhibit A! []

Articles on writing WordPress Plugins

Looking back at one’s code from years prior is like looking back at a junior high school picture of one’s self.  I’m looking back at the code for my quick-and-dirty pie chart plugin and think, man, why did I write things THAT way?

In the 1,000 years since I wrote that plugin in 2009, I’ve been trying to learn and comply with best programming practices for WordPress plugins.  As a result my current plugins tend to be stripped down, simple, don’t create unnecessary options, don’t create unnecessary tables, taxonomies, special post types, or those kinds of things. 1  Learning some Object Oriented programming along the way has been super helpful.  By encapsulating your WordPress plugin code into a chunk of objected oriented programming, you reduce the likelihood that your plugins’ function and variable names will collide with those from WordPress or other potential plugins.

If you’re getting started or need to brush up on your WordPress plugin development skillz, you should definitely check out these awesome articles:2

I’d also recommend tinkering with jQuery and JSON, if you haven’t already. 3  I don’t know of any really good JSON tutorials, so if you do, please let me know so I can add it to this list.

  1. Admittedly, I’m not really shooting for super ambitious plugins either. []
  2. Mostly stolen from the WordPress Codex! []
  3. I only use JSON for passing data from the browser to the server via AJAX and then decoding into a PHP object. []