A staging database server. This server has Postgres and Redis installed so you can test your infrastructure without spinning up multiple instances. We developed the concept as we talked with a customer who needed a non-production grade test instance. Backups are disabled so we don't recommend running this in production.
Singapore data center. This expands data center options to New York, San Francisco, Amsterdam, and now Singapore.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality
Anya is LIVE right now
FREE
Free to watch • No registration required • HD streaming
Changes in Ansible Variable Precedence Between v1.2 and v1.3
About a month ago, I was working with Ansible v1.2 to write a few playbook roles that could be easily dropped into many different playbooks. To accomplish that, I was specifying a variable in the role’s vars/main.yml file that I might override later. The way I ended up accomplishing this was a tad unexpected and I found the variable precedence rules a bit counterintuitive.
To get started, let’s look at the precedence rules in v1.2:
Registered Variables
Ansible-assigned Fact Variables
Playbook Role Parameters
Vars File Variables
Role Variables
Command Line Extra Variables
Playbook Variables
Inventory Host Variables
Inventory Group Variables
In attempting to override the role’s variable, the first place I tried was in a command line extra variable since these playbooks would run via an automated process most of the time. Second, I attempted to add a variable inline to the playbook under the vars key. Neither of these worked though, so the solution I ended up using was to have Ansible import a file specified under the vars_files key in the playbook. My thoughts at the time were pretty in line with some of the authors in this thread. Essentially, the rules are very prohibitive to the portability of roles.
Luckily, in Ansible v1.3, we have some new options. Here are the new variable precedence rules, in order from highest to lowest:
Registered Variables
Ansible-assigned Fact Variables
Role Dependency Parameters
Vars File Variables
Command Line Extra Variables
Playbook Variables
Playbook Role Parameters
Role Variables
Inventory Host Variables
Inventory Group Variables
Role Default Variables
These changes, especially the addition of the role default variable type, provide an ideal solution to my original issue. By moving the variables that I had placed in the role’s vars/main.yml file into the role’s defaults/main.yml file, I could have used any of the options I tried to provide a runtime override. In general, this should be a huge boon to the portability of roles in general and for people to make more composable systems using the Ansible toolchain.
To see how I worked through and proved out these specific precedence rules, check out this pull request.
UPDATE: Since the pull request was declined, the playbook can be found here
We recently transitioned our blog over to tumblr and the one feature we knew we would need was code highlighting. We originally thought that tumblr didn't support embedding gists so we added google's code-prettify script, but ran into some issues getting it to work properly.
To embed the gist, simply copy the embed code from the left hand side of the gist and paste it in your tumblr post. By default, the gist embed script will embed every file in your gist, which probably isn't what you want. In order to add individual files from a gist, add the ?file=file_name query param to the end of the gist url, like so:
You can sign up from our homepage and provision a MongoDB, MySQL, PostgreSQL or Redis data store and it will be ready for use in a couple minutes. Every database server that you create has automatic daily backups enabled and comes with 512MB of RAM, 20GB of SSD storage, and is hosted in Digital Ocean's NYC1 data center. In the future we will have support for other data centers such as AWS or Rackspace.
If you were an early beta tester, you will also notice that the server provisioning and management is now done through a web UI rather than the CLI. We may work to reenable the CLI in the future -- please let us know if this would be helpful to you. Keep an eye out for more product/feature updates and tutorial-style wiki articles coming up soon as well.
We're really excited to have made it this far and can't wait to show you what we've got coming. Please feel free to reach out to us anytime: moc.kcikdirg@srednuof
One of the things we're working on currently is filling in the holes, so to speak. Since we've been building small parts of the product and testing them out, there's still a lot to be desired. So, what's in the pipeline?
First, a small but helpful change, is the addition of a list command to the adv CLI. This shows you a list of all the instances you manage, their state, and their connection data. Now, it's easier to quickly keep tabs on your instances. Second, we're starting to work on a web UI to perform the same management tasks that are currently done from the command line. This should give you more options to manage instances since it's quite reasonable to expect that you won't always have access to the adv CLI. Third and finally, we are trying to improve our messaging and positioning so that it's much more clear to first time visitors what it is we currently do and aim to become.
Together, these move us towards having a much more comprehensive product. In the future, you can expect us to add more data-center options, improve and document our API, and start producing helpful content in the form of a help center or wiki.
As always, feel free to reach out with any questions, comments, or concerns to [email protected]
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality
Anya is LIVE right now
FREE
Free to watch • No registration required • HD streaming
Sometimes you see something really awesome that makes you feel small. Not small as in insignificant, but small in that I feel happy to be a part of a much larger whole. This video was a part of NASA's Astronomy Picture of the Day project at the end of March. It highlights some of the many beautiful things about our world, manmade and natural alike. Enjoy!
To dig in, let's look at what platforms as a service (PaaS) are at a meta level. Ideally, a PaaS system will abstract away a key section of infrastructure and provide a service layer that you interact with at a high level. One common and well known use case for this is web application deployment. By using a service such as Heroku, DotCloud, PagodaBox, or PogoApp, you offload the concern of running your applications to them. The service is in place to receive code and start running it, along with necessary dependencies, on top of (virtualized) hardware that is already provisioned. When talking about open source PaaS, we're looking at software systems that are designed and written to allow you to run your own platform versus using a commercial option.
What are the Open Source Options?
There are two major and two smaller or up-and-coming open source PaaS systems. They each contain common components such as request routers, language agnostic application containers, ability to deploy via Git, and service APIs for things like provisioning dependencies.
Major
Cloud Foundry -- Originally a project of VMWare, is now being maintained by a joint venture from EMC and VMWare called the Pivotal Initiative. A majority of the code is written in Ruby, although some other languages such as Java and Go are mixed in.
OpenShift Origin -- Released by Red Hat and also primarily written in Ruby, OpenShift Origin is the open source version of commercial offerings from Red Hat by the same name (OpenShift).
Minor
OpenRuko -- A community run project designed to be a Heroku clone. It is written with a mixture of Javascript, Ruby, and Python.
Up and Coming
Tsuru -- A new entrant from Brazilian media company Globo, Tsuru is written primarily in Go and came out of the box with a full complement of competitive features.
Language Specific
Nodester -- One example of a language-specific open source PaaS, Nodester focuses on running Node.js applications.
Why do we care?
Our goal at Adventure is to build a cloud-agnostic data platform for internet connected applications. One way we can be prepared to support our users is by being ready to integrate into different PaaS solutions. You can bet we're paying a lot of attention to these open source solutions as well as their commercial brethren for this reason. Also, one way to look at our product is as a Platform as a Service, but for data instead of applications. Although our technology is not as complex as these systems yet, they are an inspiration for designing what may come in the future.
Interested in using our private alpha from inside a commercial/OSS PaaS? Let us know!
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality
Anya is LIVE right now
FREE
Free to watch • No registration required • HD streaming
Would you like to help us test out our service? Everything is offered for free currently so that you can try things out and offer feedback, which we are really looking forward to hearing. Sign up and check out the quick video on our homepage.
The Mentor/Mentee relationship is two sided, but the majority of the work to maintain the relationship should come from the mentee. Mentors want the entrepreneur to take the lead and to be proactive because its much easier for them to help if they know how they can help.
If you don't take the lead with a mentor, then they will feel they aren't being helpful and will most likely look to be more involved with other mentees that are proactive.
Don't listen to them ;-)
Yea that's right, you don't have to do everything the mentor says. The point of the relationship is for both sides to learn. If you don't take the mentors advice, then come back to them and explain why you chose to go another direction. They will appreciate that you considered what they said and they will also learn from your decision, whether you were right or wrong (most likely wrong).
Ask (good) questions
The basis of the mentor relationship should be asking good questions. A good question is one that is not overly general, rather it is specific and to the point.
Bad: What do you think about our new awesomeness feature idea?
Good: We are thinking about implementing awesomeness feature into our product. Our goal for doing this is to increase customer engagement and retention. In what ways do you think this might help or be harmful in reaching our goal? How have you increased customer retention and engagement with your business?
Be ready for intros
If a mentor makes an intro to an external contact, be ready and prepared when talking with that person. The mentor is putting their reputation on the line, so you will hurt your reputation and the mentor's if you go into a meeting unprepared and waste the external contact's time. Be sure to follow up with the mentor and let them know the outcome of their intro. This leads to the next point...
Boulder is a small town
The entreprenuerial community is small and tight knit. Don't piss people off because your reputation is all you have when starting out and its your most valuable commodity. You won't piss people off by disagreeing with them or being open with them.
NDAs? Boulder is a community built on trust and a mentor is not going to steal your idea (its worthless anyways), they have plenty of better things to worry about. Assume that everything you discuss is public knowledge and if it isn't, then let them know so they can make a mental note not to share anything.
The take away from these tips is simple… be proactive, ask good questions and don't be a jerk. If you can do that in your relationships then they will be fruitful and both sides will learn and grow.
What are some ways that entrepreneurs can better engage with their mentors? Please share your thoughts in the comments so we can all learn something!
One of the most helpful sessions of the day for us was the Mentor Panel. This panel included Tom Higley (Vokl), Daniel Feld (TechStars/Slice of Lime), Luke Vernon (Eco-products), Howard Diamond (Aventura) and Nicole Glaros (TechStars).
I've compiled some notes/tips from this panel that I wanted to share since every entrepeneur can find value in them. I've filled in the headlines with what I can remember and some of my own words and I will be adding part two of the series in the next couple days to cover the topic of engaging mentors.
Here goes:
Why do mentors… mentor?
To learn
Well that's not the only reason they do it, but its certainly one of the top reasons. Most mentors love to learn and they get more out of mentoring than they usually admit. By helping you, they can learn about a new market, product strategy, customer acquisition strategy, etc.. which in turn might help them in their own businesses.
To give back
Most mentors simply love to help other entrepreneurs succeed. They know that they probably wouldn't have been as successful as they are unless others had helped them on their journey. It's the Give Back philosophy of the Boulder and TechStars community. Begin your journey of giving back by helping others and being a mentor to them. Even if you don't think you are qualified, I bet you have some piece of wisdom that you have gleaned from people smarter than you or from your own experience that might help your fellow entrepreneur.
How do you find the right mentors?
Meet many mentors
You need to meet a bunch of mentors to find the right ones for you or your company. If a particular mentor isn't the right fit they will be more than happy to leverage their network to get you to the right person.
Don't prescreen
It's easy to eliminate mentors from your mentor wish list because you think they might not have relevant experience in your industry or for some other factor. Don't do this. Make sure you take the time to give them proper consideration and factor in all of their experience. (i.e. they might be in a different industry, but your customer base if very similar so they probably have a lot of wisdom in regards to your customers)
Ask their availability
Since mentors are usually really busy, its a good idea to ask what their availability is so you can determine if they are the right fit. If you really need someone that can answer questions and be readily available, it might be counterproductive to have a mentor that you can never contact because of their busy schedule.
Find chemistry and expertise
Any relationship will be healthier and stronger if the chemistry between parties is strong. Chemistry with a mentor is one of the most important aspects of the relationship. If you don't enjoy being around the mentor or vice versa, then don't expect the relationship to be mutually beneficial.
Engage a mentor that has relevant experience in your industry or experience that is transferrable to your industry. Expertise in a market can be invaluable and will help you avoid costly mistakes that you don't have the experience to foresee.
So there you have it, some really great tips from the all star panel about why mentors are mentors and how you can find the right ones. We really enjoyed the whole day and all of the sessions were great. I'm excited to share the next post on Engaging Mentors so check back in the next few days for that.
Are there any other tips you have found useful for finding the right mentor? Please share in the comments below and begin to #GiveBack (if you haven't already begun that journey).