Why Even Conservatives Want to Save the Celery Fields

Why Even Conservatives Want to Save the Celery Fields in Sarasota

The past seven or eight months have been quite a learning experience for me.

We hadn’t made it far into 2017 when I first heard of the plan to construct what amounts to a dump at the Celery Fields in Sarasota.

Now I am not what you would call an “activist.” Prior to 2017, you could count one hand the number of times you’d have spotted me holding a sign in a crowd. Some people enjoy it and would find a reason to do it every week if they could. I just don’t happen to be one of them.

Nor am I what you would call an “environmentalist.” This issue has become one of the growing number of issues for which I consider both sides of the argument to be less than honest and certainly not aboveboard.

Nor am I someone who believes in giving government even more control over our private lives. I regard the increasing incursion of the State into our individual liberties as a dangerous menace—one that was foreseen by the Founders and Framers, whose counsel on the issue we ignore to our own peril.

In other words, I’m not what you would call a “liberal,” at least not according to any modern definition of the word.

And yet, in 2017, I’ve signed petitions, gone to rallies, attended public hearings, and spoken out in a number of ways to ask Sarasota County to deny petitions to build on Celery Fields lands.

Knowing this, many casual observers might assume that they could accurately guess my political leanings.

And yet, over the last number of months, I’ve worked alongside card-carrying members of both of the major political parties, and many others who are harder to classify, politically speaking. Lifelong Republicans, tree-hugging environmentalist Democrats, frustrated independents, and members of other parties have aligned themselves to oppose these projects, most notably the one proposed by local developer turned public official, James Gabbert.

And this is how I have learned so much this year. Never before have I seen so many people willing to lay aside their cherished ideologies and work together with people who, in other circumstances, they’d probably vehemently oppose.

There’s an old saying about nothing being stronger than the heart of a volunteer, and that is what I’ve observed—and been humbled by—throughout this process.

I’ve watched people give up hundreds of hours of their time, sacrifice business opportunities, and risk embarrassment (or worse) to protect the Celery Fields. Business owners, former journalists, retirees, birders and wildlife enthusiasts of all ages, and—yes—people whose interest in activism has risen to levels deserving of the word, “professional,” have linked up with one another in a shocking display of heart.

Why?

It can only be because they care.

They care about beauty. They care about nature. They care about what sort of society we are creating. They care about what we do with Publicly-owned land. They care about our water supply and the health of estuaries and aquatic wildlife. They care about the birds and the beautiful habitat that’s been created over the last twenty-plus years, by accident or not. They care about preserving the peaceful serenity of the Palmer corridor, which only looks “industrial” on maps created during the Reagan Administration. They care about the two thousand homes—soon to exceed 2,600 with new developments going in—and the neighborhoods that have grown up around them. They care about Tatum Ridge Elementary School and the 700 students, not to mention the hardworking faculty and staff, just down the street.

And it’s been my honor to work alongside such caring people. Maybe in other circumstances and on other questions, the things we care about would find us disagreeing.

But after months of working alongside people of this quality, I must say I’m more inclined than ever to really listen and to try to understand where they’re coming from and to see if perhaps there aren’t better ways to solve our problems than the bitter public thrashings that seem to be the order of the day.

In other words, I care too—about the Celery Fields, sure—but more importantly, about the people I’ve come to know through this unique experience.

Tomorrow, we’ll hear from the County Commissioners. That means today we’re all busy making our final preparations. Regardless of the outcome, I want all of you to know how much I have grown to deeply respect and appreciate you. Thank you for the honor of working with you.

Congratulations to Jo Hagan, CPA

A huge congratulations to our longtime accountant, CPA, and all-around business adviser, Jo Hagan, on the rebranding of her accounting practice from Hagan CPA, Inc to Barefoot Accounting, PA.

In the process of re-branding, Jo recently launched an all new Barefoot Accounting website.

Jo and I met at a networking event in 2001, not long after 9/11. I had just gone full-time in my business, and she had decided she wanted to sacrifice some of the security and stability of a corporate job in favor of working from home and being there for her two young daughters.

One of the benefits of working from home, of course, is that you can go barefoot if you’d like! Today, Jo’s daughters are off in college, and Jo is taking advantage of the opportunity to help others like her who might be Moms or would otherwise prefer to work from home.

Jo’s new brand represents a fantastic new direction as she helps other CPAs and bookkeepers develop a stable livelihood while simultaneously refocusing her own efforts on providing top-shelf business advisory services that go way beyond filing taxes and producing reports. We couldn’t be happier for Jo!

How to Communicate with Me

How to Communicate with Me

TL;DR: Email me.

This post has been on my mind for a very long time. I’ve formulated 20 or 30 different versions of it in my head, but I’ve never made the commitment to just go ahead and write one of them.

Mostly, I think I’ve avoided it because I haven’t imagined a scenario in which what I have to say here doesn’t come across as obnoxious, rude, or otherwise disagreeable.

However, reality is reality.

If you’re a client of our digital marketing agency, you’ve no doubt already had a moment where you said, “that guy is hard to reach.” (OK… you might have used stronger language. But you know what I mean.)

And so… the time has come to just spell it out.

Unscheduled Contact

I used to tell people right up front that I’m unable to take unscheduled phone calls. For a while, I even used a nearly rude voicemail greeting that instructed callers to please not leave a voicemail and just email me instead.

But in 2017, it seems that most people don’t default to the phone call anyway these days. Instead, it’s the text message.

And unfortunately, you don’t get my voicemail when you send me a text. So I don’t have a good context to have you hear my cheery “radio voice” explain that in order to get the fastest response, your best bet is to email me.

And let’s face it. Auto-replies to SMS messages are terrible. Even if I came up with polite wording, unless you know for certain that it’s an autoresponder, you get the impression that I took the time to write you a response that said, “I can’t respond right now,” instead of actually responding.

Why Unscheduled Contact Doesn’t Work

The nature of the work that I personally do revolves around two things:

  1. Lengthy (paid) consulting sessions.
  2. Creative work that requires long uninterrupted periods of focus.

If you’ve ever been in a meeting with me, you know that I don’t look at my phone when we’re meeting. This is a habit that I developed long ago. Being paid for your time trains you in unusual ways to think about clients’ expectations and how to be effective.

But it’s more than just time that gets sucked away by the phone when you’re in the middle of something.

Imagine paying your attorney $500/hour to discuss a complex legal issue and having her take a phone call every 5 or 6 minutes.

The first time it happens, you may think, “Wow, that must be important for her to interrupt our $500/hour meeting to take a call.”

And you’d probably think nothing of it, dismissing it as an unusual occurrence.

The second time it happened, you’d start wondering, “Am I going to get billed for the time she spends on these calls?”

The third time, you’d note the start and end time of the call just to compare it to your bill later and make darn sure you aren’t paying $8.33/minute for her to talk to someone else!

But there’s something else you’d notice. Each time your conversation with your attorney was interrupted, you’d find that it takes a moment or two to settle back in to the conversation. Maybe the train of thought got lost. Perhaps a complex chain of reasoning had lost a link or two and needed to be rebuilt from the beginning.

In other words, it’s not just the time that gets sacrificed by an interruption, it’s the attention.

Some years ago, when I first read The 4-Hour Workweek by Tim Ferriss, I was struck by a concept he laid out in the midst of all of his productivity hacks. Put simply:

Attention is more important than time.

I won’t elaborate too much on this concept here, but this blog post does a fantastic job of concisely explaining the thinking behind Tim’s statement.

Here’s what it boils down to in practical terms for me: in order for me to do my part in delivering the results to our clients that we deliver, I have to engage in attention management more than time management.

This means that the way my schedule works forces me to schedule phone calls and meetings so that I can be effective—not just in those meetings, but in the blocks of time when I’m not in meetings and am working insead.

The Tyranny of the Follow-Up

The other side of this coin, then, is that inbound communications are especially difficult. We are all bombarded by incoming notifications, these days. I am certainly not alone in this. You have too many emails to read, too many text messages, Skype calls, Facebook Messenger contacts, WhatsApp notifications, Snaps, Twitter DMs, and any number of other little “pings and dings” demanding your attention as well.

But if you try to handle them in a more or less “real-time” fashion, as I imagine most people try to do, then you know what it is to have an attention deficit. It doesn’t have to be a disorder, it’s a lifestyle for most of us these days.

My phone is no different from yours… often, when I leave a meeting and have a moment to see what’s going on, my notifications list is endless.

And therein lies the rub.

Maybe other people have found a way to do this, but for me, follow-up from notifications on my phone is not possible.

What is manageable—or at the very least usually possible—is email follow-up.

Maybe it’s because email, of all these seemingly endless inboxes, is the one that’s been around the longest, and so I’ve had the most time and experience to develop a system for at least attempting to follow-up on it.

Or maybe I’m just backwards.

Either way, it’s what I do.

In other words, if you email me, I’m much more likely to follow up with you. Even if it’s not immediately (which it almost never will be).

Your text message? I might see it. I might even see it soon after you send it. But it will quickly get lost in the sea of other notifications that came in on my phone, and it will never be seen again.

This Will Only Take a Second!

Maybe it’s the technical nature of what we do… maybe it’s because I have a knack for finding a long answer to a short question.

In other words, I’m sure it’s me, not you.

But most of the inbound communications I receive that are business related are impossible to answer quickly. Perhaps they require investigation or research. Perhaps that involves logging in to 3 or 4 systems to dig up the answer. Or maybe you’re not going to understand the short answer that I might give to one of my team, and out of politeness to you, I’ll spend the extra 10 minutes explaining whatever it is.

But, in my experience, the “this will only take a second” questions are often the ones that take the longest.

I’m Sure This is Frustrating

The practitioner of customer service in me—the one that drives me to think about every interaction we develop for our clients that either creates or nurtures relationships that lead to sales for them—is a constant voice in my head that screams, “you must communicate with people in the way they prefer to be communicated with.”

And somewhere there’s an idealist in me that is working on this in the background. A little hamster on a wheel that one day will come up with a magical solution to the whole problem that makes everyone happy.

In the meantime, let me just say that if you’re working with me, I apologize for any inconvenience or frustration that this creates.

Perhaps someday I’ll hire someone to help me with this. A person is probably the right answer.

But of course that means that I’ll have to increase our fees.

This may happen at some point. In the meantime, you’re welcome to let me know if you’d pay more to have a better experience.

In the meantime, I’ve made a commitment that I will do my darndest to respond to your email within one business day.

And in case you’re wondering, here’s a quick summary for how to communicate with me:

Need a quick answer? Email me.

Need to talk on the phone? Email me some possible times that work well for you.

Need some training? Email me to schedule a session.

Need to change the scope of a project? Email me.

Have something you’d like to text me? Email me instead.

Need something done in a hurry? Mention that in your email.

You haven’t gotten an answer to your email? Please accept my apologies, and email me.

Hawkins Road Festival 2017

My family & I are definitely looking forward to the first-ever Hawkins Road Festival on Saturday, February 18th!

This looks like a truly unique community celebration for Sarasota, featuring music, art, spirituality, and social awareness. Oh… and food trucks. And stuff for kids.

Should be fun!

Congrats to Florida Fence!

Congratulations to Kevin and Theresa Dermody and the entire team at Florida Fence on joining the Grow The Dream family! We’re thrilled to have the opportunity to serve such a fantastic company.

Earlier today, the first piece of content our team produced for Kevin & Theresa went live on their website. It’s a piece that explains what an easement is and how it might affect the new fence you want to install.

I know our entire team is excited to be working with them and we’re looking to great results in the days ahead!

Congratulations to Rod Thomson!

huge congratulations to my good friend and sometime collaborator, Rod Thomson, on the launch of his new project The Revolutionary Act.

Rod is an insightful thinker with a strong dedication to principles, which makes discussing topics of all kinds with him a joy. He challenges me to think, and I am always the better for it. Not only is he a veteran journalist and a published author, but he’s makes frequent radio and television appearances to discuss public policy and other issues of the day.

I’ve been bugging him for months to start blogging. I’m excited that he’s finally doing it! Can’t wait to see what comes of this!

KidsCamp at WordCamp Tampa 2016

Grace working on her blog at KidsCamp #WCTPA 2016

Earlier this week, I mentioned WordCamp to my amazing, talented, brilliant daughter, Grace. I was pleasantly surprised to discover that she seemed interested in going!

So… here we are at the beautiful Marshall Student Center on the USF campus with quite an assortment of WordPress enthusiasts. We opted to check out KidsCamp, and in less than an hour, Grace is already busily crafting her first ever blog post!

No Soliciting: Should Candidates for Office Go Door-to-Door?

No Soliciting Sign - Photo: Marcus Quigmire via Flickr

He knocked on our door around mid-day on a quiet Saturday—something that almost never happens in our neighborhood.

Thankfully, I had the advantage of being able to see him through the glass panes of our front door. I knew several things about him at once: he wasn’t one of our neighbors or friends (any friends of ours would’ve called first, of course), he was well-groomed and neatly dressed (casual, but put-together), and bore all the outward signs of being a respectable human being.

But… as someone who takes the safety of his family very seriously, I know that outward appearances can be deceiving.

  • Does he have “pals” waiting in the bushes just beyond my view?
  • Is he a sex offender?
  • Is he here to see whether I have kids?
  • He can see through the glass panes just like I can… is he here to case the joint? Should I have a weapon when I approach the door?

Mind you… I live in a solidly middle-class suburban neighborhood. It’s not a gated community, so perhaps if he were here with some sort of evil or malicious intent, he might’ve chosen a different neighborhood.

And he might’ve chosen a weekday when we aren’t likely to be home.

But still… there are types (pedophiles, for example) that are looking for homes with kids when everyone is at home so they can see what conditions might be like.

I made sure I knew the whereabouts of everyone in my family, and then I opened the door and stepped partially out onto the stoop.

He greeted me with a warm smile, “Hi, I’m _______, and I’m running for _______”

I’m dropping the name and the exact local office he’s running for to protect the innocent… or guilty, as the case may be.

He offered me a flyer or brochure, I’m not sure which, because I wasn’t looking at it. My eyes were 100% on him… still trying to accurately assess the situation.

I cut him off mid-sentence. “Did you see the ‘No Soliciting’ sign at the entrance of the neighborhood?”

“Oh no… I didn’t notice that,” he said, almost sheepishly.

Maybe he did… maybe he didn’t. I’m not sure.

I proceeded to let him know that the sign is legally posted at the entrance to the subdivision and that we have it there for a reason.

The rest of the conversation was pretty brief. I don’t think I was rude to him, although I might’ve been. I certainly didn’t take the flyer he was offering.

Good Hustle, My Friend

Look… I appreciate the challenges that candidates for local office face. It’s hard to get the word out about your candidacy, your beliefs, your strengths, and all the other reasons why you believe you should be elected.

And I’ve gotta tell you, I truly respect the effort and the chutzpah that it takes to go door to door and introduce yourself to voters.

I’ve done plenty of cold-calling in my life… for business, for charitable work, for… you name it—face to face, on the phone, and even online.

Any time you approach an unwilling subject and interrupt their life, you know you’re going to get every kind of reaction known to mankind. And most of them will reject you. My hat is off to anyone who knowingly faces that and goes for it anyway.

Seriously… respect, my friend.

Were I in some sort of advisory role for a candidate like him (which I am not, for the record… not at the moment, at least), I might even suggest that door-to-door solicitation would be a smart move. It puts you in front of the voters, lets them see your face, look you in the eye, shake your hand, and hear from you—straight from the horse’s mouth—why you’re running and what you have to offer.

I mean… even if the voters don’t agree with your positions, you will benefit from a simple human dynamic that we know makes a difference on election day: people vote for candidates with which they are familiar.

This guy was a nice enough guy… at least as much as I could gather from the 20-second conversation we had as I eyed him warily on my front porch.

And he was smart enough to walk straight down my driveway, get into his vehicle (yes, I noted the make, model & color—not that I really needed to… after all, he introduced himself by name), and drive right out of the neighborhood.

I looked him up after he left. He’s a family man. He’s got to understand the difficulties faced by someone like me who wonders exactly who it is that has marched right up to my front door.

But all of those factors that are in his favor can’t overcome one simple fact: any subdivision with a “No Soliciting” sign is off limits.

The sign serves as legal notice, so any law enforcement officer (or judge, if it got that far) would not accept the “I didn’t notice it” excuse.

If you’re going door-to-door, it is incumbent upon you to know whether you’re legally allowed to solicit in that neighborhood or not.

“Well I’m Not Selling Anything”

Fair enough. There are specific Florida statutes (501.022, for example), that regulate the behavior of commercial solicitors.

I’m not an attorney, and I haven’t researched any case law where political candidates are concerned. So… I could be wrong about the specific legality of the actions of my unnamed new friend.

However, there are also Florida statutes (102.031, for example) that regulate the behavior of people involved in conducting elections, and that particular subchapter specifically uses the term “solicit” to refer to the action of “soliciting” votes (although it specifically deals with actions that occur at polling places).

So… our “No Soliciting” sign could clearly be construed to apply to people soliciting votes. We don’t, after all, specify the type & nature of the solicitation.

Regardless of whether or not a Court would find that a political candidate soliciting votes had violated the law by ignoring a “No Soliciting” sign, the voters themselves might find it pretty easy to believe that the candidate had broken the law.

And after all… do you want to vote for someone who ignores the law (or at the very least, your stated wishes) in the very act of soliciting your vote?

I don’t think so.

For the record: I may or not find myself casting a vote for this guy on election day. It remains to be seen. I haven’t evaluated him nor his opponent(s), as of yet.

As for the matter of him coming to my door? I’m going to withhold judgment on that particular issue as I’m inclined to give him the benefit of the doubt over whether he actually saw the sign or not. For now. Especially since he did the right thing and immediately left the neighborhood after we spoke.

But if you’re a candidate for office, you would certainly do well to notice the signs at the entrance of any subdivision you enter. Others might not be so kind.

Photo: Marcus Quigmire via Flickr (CC BY 2.0)

Author Craig Richardson on Triangulation

Recently, I wrote about the book, Learn to Program With Minecraft, and shared my experience getting set up to use the book with Ubuntu instead of with Windows or Mac OSX.

Yesterday I learned that the author of that book, Craig Richardson, appeared on this week’s episode of Triangulation with Leo Laporte. It’s a fun episode… they set up Leo’s Mac to run a local Minecraft server, and test out a bunch of fun stuff from the book. Well worth the watch!

Learn to Program With Minecraft on Ubuntu

Update 3/20/2016: Thanks to one of our readers, Fabrizio Fazzino, for pointing out that a software update since these instructions were prepared makes it necessary to modify them. Specifically, we’re changing how the Spigot Server component gets installed & used. I’ve updated the instructions below accordingly.

Also, he’s prepared a more succinct set of instructions that summarizes the steps. If you’re not interested in learning as much about how and why this works,  I’d recommend you check my “Quick Note About Folder Structure” (in the yellow box below) and then follow his instructions.

Learn to Program With MinecraftRecently, I picked up a copy of Learn to Program with Minecraft®: Transform Your World with the Power of Python for my daughter and I to have a fun project to work on together.

Python is a programming language that I’ve long wanted to get acquainted with, and since she loves Minecraft so much, I felt like this book would be an ideal way for my daughter to also gain some exposure to it.

The only problem? We each use the Ubuntu distribution of Linux instead of Windows or Mac OSX.

You wouldn’t think this would be a problem: Minecraft is built in Java, which runs without a problem on Ubuntu (and many other platforms). Python is readily available for Ubuntu. Seems like a no-brainer, right?

Well… not quite. After the Amazon box arrived, I spotted this note on the back cover of the book:

The code in this book will run on Windows 7 or later, OS X 10.10 or later, or the Raspberry Pi. (See the last page for detailed requirements.)

No problem! The Raspberry Pi runs a special distribution of Linux called “Raspbian,” which is a version of Debian Linux, which is the upstream version of Linux that Ubuntu is based on. In other words: Raspbian & Ubuntu are cousins.

It seems reasonable, then, that if you can get this stuff working on the Raspberry Pi, then a much more powerful laptop running Ubuntu should be great!

Even more encouraging, there’s a nifty footnote at the bottom of Page 1 of the Learn to Program With Minecraft book which reads:

For information on other platforms and updates to these instructions, visit https://www.nostarch.com/pythonwithminecraft

Since the book had already been out for a few weeks, this note gave me hope that perhaps some instructions for setting up all the tools on Ubuntu might’ve already been added. Unfortunately, this is not the case (yet, anyway).

So… I decided to try to do it anyway. Since author Craig Richardson and the No Starch Press team had prepared download packages for the Mac & Windows platforms, I figured that at the very worst, there would be some clues in those packages that might help me get going.

Getting Minecraft & Python Set Up On Ubuntu

First, here is a simple set of requirements (as I understand them) for you to be able to use the instructions in the Learn to Program With Minecraft book on Ubuntu:

  • Minecraft – this is the game itself. If you don’t already have a license for the game, you’ll need to pick one up and install it. “Installing” Minecraft for Ubuntu is quite easy: simply download the .jar file from your Mojang account and launch it. We had done this long ago, so this step was already completed for us.
  • Python – This is the programming language you’re learning. More on finding & installing it in a moment.
  • Java – while you probably have a basic interpreter (the “runtime environment”) for Java already, you’ll need the Java Development Kit to run this next tool..
  • Spigot Server – This is Minecraft “server” software, which you can run on the same computer that Minecraft will run on. You need this because the Python connection to Minecraft relies on a server plugin that you can’t just run with your plain old Minecraft installation.
  • Minecraft Python API (py3minepi) – It turns out that this connection between Python and Minecraft was originally developed especially for the Raspberry Pi. The way I understand it, this tool is an API for Minecraft that works with Python. You need it.
  • Raspberry Juice Some brave souls created Raspberry Juice as a way to run the Python/Minecraft connection on other platforms (not just the Raspberry Pi).  When you follow the instructions in the book for Windows or Mac, this little gem is bundled in. But if you’re installing from scratch for Ubuntu, you’ll need to get it yourself. Not realizing this, I installed all the other tools and ran into a really nasty error that I couldn’t get around:

This error message was the part of the installation that was trickiest to resolve, but after a bit of digging, I was able to work it out.

The detailed instructions for each of these items follows (below). The one note I’d like to insert here is this:

I’m using Ubuntu 14.04 LTS, so your installation steps may vary somewhat if you’re using a different Ubuntu version.

Installing Python 3

You actually need 3 separate items that fall under the Python 3 heading:

  • Python 3 (the programming language itself)
  • IDLE (the development environment for Python, a/k/a the place where you’ll type commands and write programs)
  • PIP (the “package manager” for Python). You need this to install

For packages that are developed for Ubuntu, I tend to prefer using the “Ubuntu Software Center” to install stuff like this.

The only “gotcha” with Python is that there are a number of software versions and tools and so forth. So… launch the Software Center and search “python3” (with no space).

You should see a listing that says something like, “Interactive high-level object-oriented language (default python3 version)”

That’s the one you want. Do yourself a favor and click on “more info” so you can check the box for “IDLE 3” while you’re at it.

Install those, then run a similar search for “python3-pip” so you can use the package manager.

Prefer the command line to the Software Center?

Here are the commands to get python installed if you’d rather do this than use the Software Center. You’ll need to open a terminal to run these:

sudo apt-get install python3
sudo apt-get install idle3
sudo apt-get install python3-pip

You’re set with Python!

Installing Java 7

With Ubuntu, as is often the case, you have options here. You definitely need the Java SE SDK version 7 (presumably something newer would work as well) for the Spigot server to run.

Details on your options for Java on Ubuntu are here.

I used openjdk-7.

From the Ubuntu Software Center, just search “openjdk-7” and look for the “headless” option (this is lighter weight because it doesn’t include a GUI).

Or from the terminal:

sudo apt-get install openjdk-7-jre-headless

Installing Spigot Server

Update 3/20/2016 As I mentioned in the update at the top of this post, Spigot Server has released a new version: 1.9. Since the other components we’re using have not yet (as of today) updated to accommodate this, you’ll need to make sure that you download Spigot 1.8.8 and use it even though it is not the most recent version available.

Spigot is one of the most popular Minecraft server options, and is a necessary component in order to get Python & Minecraft talking to each other.

Getting the server software up & running is a matter of compiling the latest version. This reference page from the Spigot wiki is the one I used, and it seems to stay up to date. However, since it contains the instructions for multiple platforms, I’ll endeavor to simplify here.

One item to install first that will make this simpler is git. You’re going to need a terminal window anyway, so I’d recommend going ahead and opening it now and running this command to install git:

sudo apt-get install git

Next, you’ll want to download the Spigot BuildTools from this location:
https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar

A Quick Note About Folder Structure

To help make things easier on yourself, you might find it useful to use a somewhat similar folder structure to the one described in Learn to Program with Minecraft for the Windows & Mac users.

To accomplish this for myself, I opened the “Files” application and browsed to my “Documents” folder, then created a new folder called “MinecraftPython”, then inside that folder another called “MinecraftTools”.

I recommend moving the BuildTools.jar file that you just downloaded into that “MinecraftTools” folder.

To do this, you have a few options:

  • You can drag and drop using 2 “Files” windows, or
  • you can cut & paste if you just have one of those windows open.
  • Otherwise, you can move the file from the command line in a Terminal window with something like: mv ./Downloads/BuildTools.jar ./Documents/MinecraftPython/MinecraftTools/BuildTools.jar. Of course, you’ll need to modify that command to suit your particular situation (if you’re using a different folder structure or starting from a different location in your Terminal window than I did, for example).

Once that’s done, from your Terminal window, you’ll need to change directories to the location of your BuildTools.jar file. Depending upon where you’re starting from, that might mean a command that looks something like: cd ./Documents/MinecraftPython/MinecraftTools.

Then you’ll want to execute these 2 commands:

git config --global --unset core.autocrlf

java -jar BuildTools.jar This needs to be tweaked to make sure you use version 1.8.8 of the Spigot Server component (for now).

java -jar BuildTools.jar --rev 1.8.8

This will get the Spigot Server built. In order to finish installing, creating a startup script will be helpful. You can create one with gedit by running a command like this:

gedit start.sh

The gedit text editor will open. Copy and paste this into the editor:

#!/bin/sh

java -Xms512M -Xmx1024M -XX:MaxPermSize=128M -jar spigot-1.8.8.jar

Note: the filename “spigot-1.8.8.jar” was the current filename as of this writing. You’ll need to confirm that filename based upon your build, and edit the command here if it’s different use that filename as is for now (until the other components are updated to accommodate newer versions of Spigot server). Also, the Spigot instructions specifically note that the ‘MaxPermSize’ directive is no longer needed or supported in Java 8, but since I’m using Java 7, I left it in mine.

Save the file and close gedit.

Next, you’ll need to make the script executable. From the same terminal window, type:

chmod +x start.sh

Before you launch this file, you’ll need to accept the End User License Agreement. Locate the eula.txt file in your “MinecraftTools” folder and open it for editing. You can do this from a terminal window by typing gedit eula.txt . From the “Files” application, you can right-click the eula.txt file and choose the option to edit it with gedit.

Before you change the line that reads eula=false to eula=true, you’ll want to review the Minecraft End User License Agreement and verify that you’re ready to agree to its terms. Once you are, changing the value to “true” and saving the file will allow you to launch the Spigot Server without a hiccup (assuming that it is installed correctly).

Starting Your Spigot Server

Once that’s completed, you can start the Spigot Server to ensure it’s working properly. You’ll use this same command start the server each time you need to use it:

./start.sh

If all has gone according to plan, you should see the output of the server startup process in your terminal window. The Spigot Server will create a new Minecraft world as it launches, and once it’s up and running, you’ll see a > prompt with a flashing cursor next to it. You need to keep this window open.

Testing Your Spigot Server Installation

To test your server, launch Minecraft as usual.

Click “Multiplayer” and then choose “Add Server”

Give your new local server a name. The book recommends Minecraft Python World for it. In the “Address” box, type localhost. There’s a picture at the top of page 17 of the book which you can refer to as an example.

Quick note: if you’re using a typical Minecraft installation, then your Minecraft version will have updated by now to a version newer than the Spigot Server version. If so, you’ll need to edit your “Profile” and specify the Minecraft version to run so that it matches your Spigot Server version (1.8.8 if you’re following this writing exactly). Alternatively, you can create a new profile instead (this is what I chose to do) so that your main Minecraft profile continues to use the latest Minecraft version.

You can double-click the Minecraft Python World and check out your new world.

Note: The author’s downloads for Mac & Windows operating systems are pre-configured to be in Creative Mode. This world will be in Survival Mode instead. This can be changed by editing the server.properties file in your “MinecraftTools” folder and changing the line that reads gamemode=0 to gamemode=1 . You may also find that you need to change the line that reads force-gamemode=false to force-gamemode=true .

Play as long as you like, but before proceeding: you’ll want to stop the Spigot Server. In the window with the flashing cursor, simply type stop at the > prompt, and the Spigot Server will save everything and shut itself down.

Installing the Minecraft Python API

Next, you’ll need the Minecraft Python API. There’s a Github repository here:

https://github.com/py3minepi/py3minepi

I recommend just hitting the “Download Zip” button there. The file will be saved to your “Downloads” folder. You’ll want to extract the .zip file’s contents. You’ll end up with a folder called py3minepi-master, which we need to copy into the “Documents/MinecraftPython/MinecraftTools/” folder.

Once the folder has been relocated to the “MinecraftTools” folder, we need to run a command to install it. From your terminal window (assuming your current directory is still the “MinecraftTools” folder), type:

sudo pip3 install ./py3minepi-master

Installing Raspberry Juice

The last piece, I believe, is the actual Raspberry Juice plugin for Spigot. You can find it on the project’s home page:

http://dev.bukkit.org/bukkit-plugins/raspberryjuice/

Look for the “Recent Files” link on the right. As of this writing, the latest was RaspberryJuice v1.7 for 1.8.1. Follow the links, and eventually, you’ll end up with a .jar file.

This file needs to be copied into the “plugins” folder of your Spigot Server installation. If you’re following the directions here specifically, then you’ll find that folder at “/Documents/MinecraftPython/MinecraftTools/plugins”

Put the .jar file in that folder. Your Spigot Server will automatically find it the next time it starts up.

Time to Test!

If all has gone well, you should be ready for the “Getting to Know IDLE” section of the setup instructions on Page 20 of the book. If you’re able to successfully run the tests there, you’ve got everything set up correctly!

It was at this stage that I got that nasty error I mentioned earlier:

ConnectionRefusedError: [Errno 111] Connection refused

after typing this command into IDLE:

mc = Minecraft.create()

When I got the “connection refused” error, I did a bunch of searching, but nothing seemed to fit. Ultimately, I hunted down the port number that the “minecraft.py” script was trying to connect to (port 4711). This didn’t make any sense, because the Minecraft server software defaults to port 25565. Searching around for information about what might be running (or not running, in my case) on port 4711 was what yielded the information about the Minecraft Python API.

Thankfully, author Craig Richardson left some clues for us in the pre-packaged downloads he made available for Windows & OSX. On my Ubuntu system, I opened up the download he prepared for OSX (since OSX and Linux are more or less cousins, I figured it would be worth a shot) and found Raspberry Juice. It was perhaps the least obvious component of this whole setup.

So far, this setup has been working for me. I’m not 100% certain that I haven’t missed something, but if I have, then it doesn’t appear to be affecting things so far.

I hope you find this helpful! Let me know what you run into in the comments. I’ll do my best to help!