TechSnips is Now a Community Platform

When I started TechSnips just eight months ago, I had originally intended to recruit contributors, help them get their short videos on techsnips.io and sell subscriptions. This didn’t turn out like I had originally intended at all. Time to pivot!

We’re now no longer just snips, but we now have a snip and a growing course program that I’m really excited about. Unlike snips, our course program is helping us grow financially which allows me to make this announcement.

Relaxing the Snip Contract

For many years, I’ve been heavily involved with a technical community; the Microsoft community to be specific. I’ve been a Microsoft MVP for five years now and have thoroughly enjoyed both getting to know other people and more importantly helping so many professionals in the careers.

With that being said, as of yesterday, when a new TechSnips contributor joined us, they were required to sign a contract stating that they were not allowed to host their snips on any other platform. They were allowed to link to their videos but under no circumstances were they allowed to take the actual edited video that’s hosted on techsnips.io and make copies of it.

This contract was based on our old business model and was already outdated. That era is over.

As of today, I’m announcing that all TechSnips contributors are free to do with their snips whatever they please. Every TechSnips contributor now is granted a non-exclusive, perpetual license on every snip they produce through our publishing platform granting them to use their snips wherever and however they want granted they don’t modify the video.

Also, to prevent any conflicts with moonlighting policies, all contributors have the right to not get paid by TechSnips making techsnips.io a true, community platform helping technology professionals without letting money/tax issues get in the way.

All contributors now are able to get their videos professionally edited, hosted on techsnips.io, promoted for free and get the ability to take their final snip and share it with their community!

I hope this shift to make our snip format and platform completely free and accessible to everyone continues to encourage greater community involvement and to give everyone a chance to help others in their own technical community!

-Adam

How TechSnips Does Courses

If you’ve ever subscribed to or purchased content on e-learning services like Pluralsight, CBT Nuggets, LinkedIn Learning (Lynda), Udemy, et al., you’ve been a student of an e-learning course. These courses aim to help students learn a particular skill, help them pass a certification exam or enter an entirely new profession. A course can be just about anything, especially on Udemy!

Every successful e-learning course has lots of students and a single or a handful of instructors. A wildly popular course could have millions of students yet an only instructor (author). The chances of being a student on a course are a whole lot more likely than being the course author.

At TechSnips, we help IT professionals, developers, tech pros of all walks of life transform from one of the many (students) to one of the few (instructors). We help subject matter experts (SMEs) turn the knowledge in their head into a well-thought-out course that will potentially help millions of students learn a new skill to get that promotion, pass that certification exam to get a new job or just get a jump start on a new hobby!

Snips vs. Courses

Before we get into courses, it’s important you first understand our split snip vs. course programs. If you’ve seen our website, techsnips.io, you’ll see here nor there a course. TechSnips.io hosts short, how-to videos that get right to the point and teach a task. We call these videos snips. Snips are perfect if an IT pro knows what his problem is just not how to do it. Snips teach how to perform a task. Courses, on the other hand, explain how to build a skill.

Snips are the perfect solution in a pinch for that system administrator that can’t figure out how to upload files to Microsoft Azure, install a PowerShell module or how to back up a virtual machine. These are all tasks. Courses, on the other hand, teach skills that may or may not be groups of snips combined with slides, quizzes, etc.

A snip teaches how to repair a car transmission; a course teaches how to become a mechanic. Task vs. skill. Learning how to fix a car transmission is an important task every mechanic needs to learn, but it’s not nearly everything a mechanic needs to know to become ASE certified.

TechSnips still maintains our snip platform and will continue to do so but will not be the primary business focus for the time being.

E-Learning Training Companies

Previously, I mentioned companies like Pluralsight, LinkedIn Learning (Lynda), Udemy and others. These companies provide courses directly to their customers. Each company has a two-sided market; students and instructors. To attract customers (students), these companies must produce great courses. But to create great courses, they need experts (instructors) that can teach them. They can and do hire full-time instructors but also hire many contractors to develop these courses.

Each training company built and maintains its own platform, has its own students and markets their individual courses to acquire as many customers as possible.

These companies invest lots of money acquiring both instructors and students creating a large match-making service.

TechSnips is not a training company although we do tend to dabble in our own courses from time to time. Our primary focus is on filling a gap in our training company partners’ content libraries by providing access to many different experts capable of producing many different courses.

We work directly with training companies, not against them to provide a “Courses as a Service” platform by automating and removing every logistical task necessary to create a course. We strive to let experts teach their skills and handle the rest.

Working Directly with Training Companies

Typically, when an e-learning company needs a course created, they will reach out to individual authors in an attempt to woo a subject matter expert to build the course for them. Or, a potential course author will reach out to the training company and pitch course ideas to see if the training company will bite. Either way, the relationship is always 1:1 between a single author and the training company.

On the surface, this 1:1 relationship sounds simple until a course newbie really gets into it. They will soon be overwhelmed by course logistics.

  • What kind of outline are you looking for?
  • What kind of instructional style do you want?
  • When do I need to put in slides?
  • What slide template do I use again?
  • Do you always need a course introduction?
  • Holy hell, I’ve got to build my own demo environment?
  • Now, a module is part of a course, and a lesson is part of a module, right?
  • Do you need the videos in MP4, AVI or MOV format?
  • What’s the framerate supposed to be?
  • How long should the course be? Do you have a max length per lesson?
  • What is “scope” and how does it relate to courses and individual lessons?
  • What exactly does this contract I’m signing mean?
  • You mean to tell me I have to be a video editor too on top of all of this?
  • …and on and on.

I went through all of this when I was first producing courses for various companies and to be honest, I hated it. I loved coming up with the scenarios and teaching, but I hated all of the logistics that went into ensuring the course was packaged precisely how the training company wanted it.

I especially hated doing my own editing. I tried to outsource as much as possible, but I would then have to train contractors on the exact specifications the company needed, remember to pay them and still handle all of the paperwork with the training company. I wished there was a better way…

Where TechSnips Comes In

Training companies will always have their own specific requirements, and these hoops will still have to be jumped through, but we believe the author shouldn’t have to. We think a subject matter expert should do what they do best; be an expert in the subject they’re teaching! Crazy concept, huh?

We believe that it’s entirely unnecessary for an expert to concern him or herself with all of the logistics that go into course production. Instead, we want an expert to teach. That’s it. Plain and simple. All of the other rigamarole that goes into getting a course laid out and submitted to a training company shouldn’t even come into the picture.

Spreading the Workload

I’ve seen it many times. When you lay a pre-created 3-hour course outline in front of a tech expert that’s never authored a course before, their eyes glaze over. Even though the first part (coming up the outline) is completed for them, time building demo environments, building slides and a lot of deep thinking all come to a head and freeze them up. “That…..will take me a few months!”, they say. …and they’re right if they’re on their own.

What makes TechSnips unique is our contributor community. We have nearly 100 experts in our community now and growing that can help. Courses are typically created by a single author and for a good reason. It’s hard to delegate responsibilities to multiple people, but we believe we’ve cracked that nut.

TechSnips has a model that allows us to assign multiple authors to a single course all using a single platform and payments evenly split by the amount of work each author puts in. We’re even working on multiple authors per lesson! Imagine getting that sweet, sweet passive income from a course when all you’ve done is create the scripts the course presenter then records in the video. It’s possible as a TechSnips course author.

Creating a Course from Scratch

If you’ve never been involved in creating an e-learning course, the process is the same regardless if you’re creating courses for Pluralsight, LinkedIn Learning (Lynda), CBT Nuggets or any other large training company.

In a tiny nutshell, the overall stages to publish a course are:

  • Course pitch (working with the company to determine what course they want)
  • Course summary (creating an overall review of what the course is about)
  • Course proposal (building an outline of sections, lessons, abstracts, etc.)
  • Approval (working with the company to agree on your proposal)
  • Paperwork (reading and signing legal contracts)
  • Demos (building demo environments, coming up with scripts and recording)
  • Slides (building slide decks and recording slides)
  • Editing (after recording, ensuring the video flows nicely)
  • Submitting demo/slides (sending demos/slides to the company)
  • Demos/slides approval (performing any edits/re-records necessary)
  • Publishing the course (company publishes your course on their platform)
  • Getting paid (Yay! We’re done!)

We at TechSnips understand these stages intimately and have designed an automated system to account for all of them allowing all of our course authors to only worry about the absolute minimum. However, we’re not going to gloss over the fact that creating a course whether you’re partnering with TechSnips or not requires work.

Effort Required to Build a Course

With talk of all this work, are you scared yet? I hope not! Producing courses with TechSnips alleviates a ton of work, but we’re not going to build the course for you! You’re the expert; we’re just the platform.

Before we too far into this topic, I have to let you know that everyone is different. Please don’t join a course and 200 hours into it, gripe to me telling me I told you that it was only going to take 20 hours if you’ve decided to boil the ocean! I can only provide numbers based on my personal experience.

Let’s break down the applicable stages from the section above that entail doing some work on the part of the course author. Remember, these are rough numbers from my personal experience from producing or helping produce ~30 different courses. These numbers are also in man hours. They do not include time waiting for a response from the training company.

Based on a typical 2-hour course, here is a breakdown by stage in hours both by working with the training company alone or and as a TechSnips contributor:

Stage No Help from TechSnips As a TechSnips Contributor
Course pitch .5 0
Course summary 1 .5
Course proposal 2 1
Course approval 1 .5
Paperwork .5 .25
Demos 50 25
Slides* 20 15
Editing 20 0
Submitting demos/slides 2 2
Demos/slides approval 2 1

We reduce the course author’s workload in every stage. Through services like mentoring/coaching presentation skills, providing prebuilt lab environments, removing all editing required and providing a single platform linked to multiple training companies, we expedite from pitch to payment.

*We help out with slides as well and may eventually take this down to 0. A tech expert doesn’t need to be a PowerPoint ninja too!

Get Started Today

If you’re currently not a TechSnips contributor or are and have yet to get started on your first course, what are you waiting for? Go outside, pick up some snow and let’s see what kind of monster we can build together!

Join Us!

Passive Income: The Holy Grail of Money-Making

Imagine for a minute getting paid to do nothing. Every month, money just appears in your checking account without a finger lifted on your part. It’s like clockwork. Every month, the money comes in. The amount may vary month-to-month but usually stays around the same. This monthly account deposit is everyone’s best friend; passive income.

Many people think the only way to make money is to trade in their time. Whether you have a full-time job working 40 hours/week or are a consultant charging $150/hr, the amount of money you receive is dependent on the amount of time you put in. Work more, get paid more whether you’re going into overtime or burning the midnight oil as a consultant or contractor.

If you’ve never experienced passive income before, getting paid every month when you haven’t stepped foot outside your door to go to work seems crazy. It almost looks too good to be true but, I assure you, it’s not. It’s merely extending the payment model you’re used to over a long period. The work still must be done, but you are paid not based on your time but on the value your work delivers.

Passive income is a general term that refers to putting in work for a limited amount of time and getting paid for that work for years to come. Passive income can be achieved lots of ways from building software or an online service and providing a self-service checkout, writing a book and collecting royalties, writing an eBook and hosting it on a platform like Leanpub and receiving a share of the revenue, having blog sponsors or any other activity that requires work upfront with payments over time.

The Snowball Story

A great metaphor to explain passive income is to compare it to a snowball.

Imagine you’re outside on a snowy day, pick up some snow and make a snowball. The snow is that wet, sticky snow, so you’re able to create this snowball easily. Holding the snowball in your hand, it weighs no more than a few ounces. This is the money you receive from royalties your first month via your first course. Cute but nothing to write home about.

That snowball in your hand reminds you of the mountains, so you decide you need to climb Mt. Everest to achieve spiritual enlightenment. Just go with me here. You battle the elements and take your little snowball with you to the top as a reminder of where you came from.

Once you’re at the top, you then decide to free your little snowball and roll it down the mountain. At first, it merrily bounces along down the mountain but soon begins to grow mowing down shrubs, grow some more where it’s now pummeling small trees, roll down a few more thousand feet and it’s taking out entire basecamps! By the time it gets to the bottom of the mountain, it’s on a mission and soon takes out tiny Tibetan towns.

Your once cute little snowball has morphed into a monster consuming everything in its path. Now imagine that snowball is your money and the altitude is time. The farther down the mountain the snowball goes, the more work you do and the more value you create exponentially growing your snowball and the bigger your bank account gets. In this metaphor the snowball eventually stops; it’s simple physics. But in our real, passive income example, the money keeps coming in month after month forever!

Building Passive Income with E-learning Courses

Passive income comes in many forms, but here at TechSnips, we provide this nirvana-like service in the way of e-learning courses. The TechSnips Course program partners with leading training companies that need online courses and we also publish our own. Regardless of where the course is posted, it will always be made for sale and will always be consumed by students over time.

A course provides value to consumers not once or twice, but, typically, for years. Since that value is spread out over time, TechSnips and you, get paid for the work that we put into building that course over that timespan.

For a course to be successful, it needs to meet three rough criteria:

  • It has to be marketed well and in front of potential students
  • It has to be packaged well
  • It has to be a well-produced, quality course that students can learn from

TechSnips and our partners take care of the first two criteria, and the third is up to you. We help you build the best course possible, but it’s ultimately up to you to make the course awesome. To develop your monster snowball, the key is quantity. The equation is simple; the more courses you produce, the more money you make and the longer your passive income will continue over time.

Let’s Talk Numbers

We’re talking passive income here, but we also need to speak to the upfront payments you get when authoring courses with TechSnips. When a course is completed, you will receive anywhere from $800 to $2000+. If you’ve decided to go lone ranger on the course and are the sole author, that entire amount is yours. If not, that amount is then split between any other authors that are also assigned to that course.

The upfront payment isn’t bad but hardly worth the 30-50+ hours of work that may go into a 2-hour course. The real money is in the passive income!

A snowball can start its journey at various sizes, and no two snowballs will take the same route down the mountain just like course royalties and revenue sharing. The size of the monster at the bottom depends on a multitude of factors, but it all comes down to popularity. The amount of passive income you receive depends on how favorited your course is with its audience.

For example, Pluralsight uses its own platform to host courses for students and pays royalties based on minutes viewed. Packt, on the other hand, distributes their courses amongst many different platforms and pays you based on a percentage of revenue earned from your course. Either way, you get paid more if your course is popular and less if no one wants to watch it.

Once you’re approved as a TechSnips course author, you can build courses for many different training companies all with a single platform.

It’s tough to determine how much you can anticipate receiving per month in passive income. The number all depends on the TechSnips course partner, the time of year, how good the partner is at marketing your course, if your course is aimed at beginners, intermediate or experts and more. With that being said, I can provide a big range. If you are the sole author on a course, you can expect anywhere from $20 – $2000/month. I told you it was a big range! I can’t, with a good conscience, tell you exactly how much you will make.

How much you make solely depends on your ability to teach a great course and how many courses you produce.

Get Started Today!

If you’re currently not a TechSnips contributor or are and have yet to get started on your first course and are not presently seeing passive income, what are you waiting for? Go outside, pick up some snow and let’s see what kind of monster we can build together!

Join us! 

TechSnips: Startup Struggles and Eternal Optimism

A Startup Founder

Short term pain, long term gain. That’s what we hear from people when they are watching on the sidelines when we’re working towards a goal. These people either strive to motivate us or are entertained by watching us struggle and want to see how stubborn we can be.

We go to the gym, see no results the next day. We start eating healthy and feel no different. We stay in a job that’s meh just because it’s comfortable and we entrepreneurs bust our asses for nothing for months sometimes years in hopes of a big payoff someday.

What does each of these situations have in common? They all require either:

  • A. balls
  • B. stupidity
  • C. tenacity and grit

I’m positive it takes a little bit of each.

When I quit my job nearly eight months ago for an opportunity that had no guarantee, no paycheck and no clear end goal everyone thought I had a screw loose. “Grit! “, I told them. “No, it’s a vision!”, I told them. They’d nod and wish me well still thinking I was nuts.

Short term pain

Imagine for a minute you’re on a tightrope high above the ground wobbling on a 1-inch wire. Scary, right? Now imagine you have an enormous cushion made of baby lamb’s wool and unicorn tears below you. If you were to fall, it may actually feel wonderful feeling that soft embrace of the net.

You’d happily stroll along the wire without a care in the world. Who cares if I fall? Hell, I may jump! This is what a nice, cushy job feels like. Another week, another big paycheck. Ain’t life grand? For some maybe.

There’s no pain but no challenge. No fulfillment. Take your Hawaii vacation with your loads of PTO and buy that Ferrari. As my Australian friends say, “Good on ya!”. But what kind of way is that to live? What are you actually accomplishing? Do you feel like you’re making a difference in the world? If not, ask yourself if this is what you want for the rest of your life.

Sure. There will be fights with your spouse, you’ll question your sanity, you’ll run budgets nonstop to reassure yourself it’ll be OK and you’ll constantly wonder what you’re committing your life to really is a good idea after all. “WTF HAVE I DONE??”

It’s painful. Sometimes very. But nothing great comes free and without risk.

Rome wasn’t built in a day and neither can a fruitful and fulfilling business like TechSnips.

Long term gain

It’s been nearly eight months since I started TechSnips and I can finally say my attitude is beginning to change from a pain to gain mentality.

We’re not making loads of money by any means and we’re not a huge team capable of destroying our competition. We do, however, have momentum and a growing community.

Since we’ve pivoted to focus on our course partner program we received our first course payment this month. Talk about exciting! We now have 13 courses in the queue and our dedicated team of contributors are hard at work cranking them out. I can see the snowball starting to build!

We are an agile company capable of coordinating hundreds of moving parts at once though our highly systematized processes. I knew being Adam the Automator would come in handy besides the occasional blog article or two.

We’re attracting 3-5 new contributors every week who immediately are put in touch with Anthony, my first lieutenant/VP of Content where he’s able to get them up to speed fast and part of our community.

I can say that after all of the hard work, we’re finally hitting our stride. With a dedicated community, collective knowledge and everyone’s commitment to coming together making TechSnips a success, I know we will succeed.

  • Adam

How to Manage Docker Volumes on Windows

This blog post was created from a snip created by Matt McElreath. You can check out the video Managing Docker Volumes on Windows if you’re more into video format.

Docker volumes are the preferred way for handling persistent data created by and used by Docker containers. Let’s take a look at how this works.

If you want to store persistent data for containers, there are a couple of options. First, I’ll show you how to use a bind mount. I’m currently in a folder called data on my C-drive. If I list the contents of this folder, you can see that I have five text files.

If I want to make this folder available to a container, I can mount it when starting the container. Let’s go ahead and run a container using docker run. I’m going to run this container in interactive mode, then specify -V. Here, I’m going to put the path to my data folder, followed by a colon, then I will specify the path inside the container where I would like this folder to be mounted.

For this, I’m going to specify the shareddata folder on the C-drive. Then I’ll specify the Windows server core image and finally, I’ll specify that I want to run PowerShell once I’m inside the container.

Now that I’m inside the new container, if I list the contents of the C-drive, you can see that I have a shareddata folder.

Let’s go into that folder and list the contents. Here are my five test files that are located on my container host.

I can also create files in this folder, which will be available to other containers or my container host. Let’s go ahead and run new item to create a file called containertest.

We can see above that the new file has been created from within the container. Now I’ll exit this container which will shut it down by running exit.

If I run docker ps, you can see that there are currently no running containers.

Now let’s list the contents of the data folder again from my container host.

We can see the new file that was created from inside the container called containertest. Bind mounts have some limited functionality, however, so volumes are the preferred way to accomplish what we are trying to do. To get started with volumes, we can run the same command to start up a container, but this time with a couple of small differences. Where we specified the volume, instead of using the path on the container hosts’ file system, I’m going to use the word hostdata as the name of a volume I want to create and use.

From inside the new container, if I list the contents of the C-drive, you can see again that I have a folder called shareddata.

If I list the contents of that folder, it is currently empty because we created a blank volume. Now let’s run Ctrl-P-Q which will take us out of the running container, but keep it running in the background.

From the container host, let’s run docker volume ls. This will list the current volumes on this container host. I have a volume called hostdata, which was created when I specified it in the docker run command.

If I run docker ps we can see our running container.

Let’s stop that container using docker stop. Now we have no running containers.

Let’s remove the stopped containers by running docker rm. If I list the volumes again, you can see that the hostdata volume is still available and can be mounted to new containers.

Another way to create a volume is to use the docker volume create command. If you don’t specify a name, docker will give it a name which is a long list of random characters. Otherwise, you can specify a name here. I’m going to call this volume logdata. Now we can see it is in the list when we list the volumes again.

Now let’s go ahead and mount that to a new container. I’m going to use docker run again and for the volume I’m going to specify the volume that I just created and mount it to c:\logdata.

From inside the container, I’m going to go into the logdata folder and create a couple of files. Right now, there are no files in this directory, so let’s go ahead and create some.

Now I have two log files in this directory.

Let’s run Ctrl-P-Q again to exit this container while it is still running. While that container’s running, let’s start up a new container with the same volume mounted.

If we run a listing on the logdata folder in the new container we can see the two log files being shared.

Now let’s exit this container. I currently still have one running container and two exited containers.

I’m going to go ahead and stop all running containers, then run docker rm to remove all exited containers.

Let’s go ahead and list the volumes again. The logdata volume is still available to be mounted to future containers.

If I just run docker volume, I’ll get some usage help for the command.

We already looked at create, so let’s move on to inspect. If I run docker volume inspect against the logdata volume, it will return the properties for that volume, including the mount point which is the physical path to the volume on the container host.

Let’s open that folder using Invoke-Item and have a look. Under the logdata folder, there’s a folder called _data. If we open that, we can see the files that were created from the container earlier.

To delete a volume, we can run docker volume rm, followed by the name of the volume you want to delete.

Now if I list the volumes, logdata is no longer there.

Finally, we can use prune to remove all unused local volumes. This will delete all volumes that are not mounted to a running or stopped container.

You want to be careful with this command, so there’s a warning and a prompt to make sure that you are sure that you want to do this. If I type Y and hit enter, it will show me which volumes were deleted.

And if I list my volumes again you can see that they have all been deleted.

How to Set the DNS Server Search Order on Windows with PowerShell

To follow along, you can find a copy of the code used in the SnipSnips GitHub repo.

Setting your DNS server search order with PowerShell is actually really easy. We’ll start with the Get-DNSClientServerAddress to get a look at our existing settings as you can see below.

So there you can see, we have our existing settings on ethernet interface index seven, and our addresses are 192.168.2.52 and the secondary server is at .51.

So we’ll do a quick nslookup to file01.corp.ad, to verify that our primary is in fact responding.

So there we go, you can see above that a responding DNS server is our primary at .52, and successfully returned .55 is our file server.

Now, let’s change the order of our DNS servers. To do that, we’ll use the Set-DNSClientServerAddress cmdlet. We’ll point it to interface index seven as listed above, and I’ll change our order, so 192, 168.2.51 is our primary, and .52 is now our secondary.

We’ll do a quick verification. I’ll check interface index seven.

There, now you can see above, .51 is now our primary as it’s listed first, and .52 is our secondary.

Do another quick nslookup, and you can see that that now returns from .51, which is our primary DNS server.

How to Undeniably KNOW You’re an Entrepreneur

Have you ever been in a job you hate? Have you ever been in a position you love? Probably. Lots of people get a job, make decent money and are happy with our lives.

We’re content to separate work and personal life and talk about “work/life balance.” But what if work and life felt like one to you?

You’d be done with the “work/life” balance problem but depending on where you live and who your social circles are you’d feel out of place. You’d hear comments like “What are you thinking?”, “Are you crazy?”, “You’re going to give up that security?” when commenting to others about venturing out on your own and pursuing your dream.

Entrepreneurs want to break free…constantly

What others around you may not realize is that you possess this deep-rooted desire to break free of the full-time employment chains. Golden handcuffs or not, your whole being is telling you to rip them off and be free but cultural pressures and your sanity are screaming you’re crazy.

Any “normal” person with a six-figure job that they enjoyed doing with ultimate flexibility would have a screw loose for wanting to throw it away, right?

The traditional way of thinking of a good job is security, comfort and merely that thing you do for 40 hours/week that sometimes gets in the way of the fun stuff.

“Good” jobs are toxic to an entrepreneur

An entrepreneur with a “good” job thinks that’s 40 hours/week of wasted potential she could use to pursue her dreams and build a business. These opposing forces, when coming together, produce a volatile mix of fear, angst, sadness and excitement.

An entrepreneur trapped in a “good” job is like an intelligent frog sitting in boiling water. It’s sure is warm and comfortable in that water, but the smart frog knows that, at some point, they’re going to be boiled alive. But that water feels so nice!

Entrepreneurs are different

An entrepreneur is different than most. As that iconic Apple commerical correctly puts it, entrepreneurs are [sic] “the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes, the ones who see things differently.”

An entrepreneur isn’t like anyone else. He’ll never be happy working for the best boss in the world, working on the absolute coolest projects and making millions of dollars a year if the goal is for someone else. He’ll always yearn to follow his own path.

An entrepreneur is independent. He has a vision in his head and uses every ounce of his being to fulfill that vision.

A “good” job is just a distraction from reaching the ultimate goal. “Good” jobs are toxic to an entrepreneur. They tempt her into entertaining the idea that she may be happy working for someone else but at some point, her true calling will surface again and begin knawing at her to pursue her true passion again – entrepreneurship.

A “good” job temporarily masks an entrepreneur’s spirit. It’s a pill that makes an entrepreneur fill warm and cozy until the effect wears off and he’s back left staring in the mirror questioning himself over and over again.

Entrepreneurs are relentless

An entrepreneur is impatient. He has a vision and will make that vision a reality at whatever cost. He has no time for others that hinder steps to fulfill the vision. He has one goal and one goal only; to build a successful business no matter what the cost.

An entrepreneur will fail, but the fire an entrepreneur has in his belly is unrelenting. It’s a fire that is not extinguishable. Entrepreneurship is an addiction to success. It’s an endless pursuit that is so ingrained in his DNA that it leaves no room for escape no matter how many bonuses, raises and stock options are thrown at him. It’s a force unlike no other.

Some questions to ask yourself if you’re an entrepreneur are:

  • Do you have that drive, that unrelenting knawing inside you that can be pushed down temporarily but always seems to come back up?
    – Do you feel delighted and fulfilled when the work that you do directly contributes to your own success?
    – Do you feel like a job merely is 40 hrs/week that’s holding you back from your real potential?
    – Are you willing to pursue a passion that may end up failing miserably?
    – Do you think of failure as inevitable and use it as a learning experience in your next venture?
    – Will you do anything to work for yourself rather than going back to another job?

If you’ve answered yes to most of these questions, you are an entrepreneur.

If you’re still in a job, quit. Quit now. You’re only delaying the inevitable. You’re fooling yourself into thinking you’re happy.

You’re not.

You’re merely being bamboozled by the money, power and prestige a “good” job gives you. You will be much happier making a quarter of the money you’re making now working on your business, not someone else’s.

The fulfillment you’ll get out of life will increase exponentially and regardless if you fail or succeed, you’ll get back up and do it again until you’re so much better off than what that 3% raise every year gave you.

Entrepreneur vs. Engineer: A Founder’s Dilemma

 

Us IT folk are a unique breed or so I’m told. We’re logical, black and white thinkers that require strict rules and are prone to outbursts around tabs vs. spaces at any moment.

We love either Windows or Linux but not both, have a major case of imposter syndrome and are socially inept. At least that’s the stereotype. It turns out a lot of this is true of myself.

A lot of engineers are completely happy going to work, solving interesting problems, working with good people and toiling on interesting open-source side projects in their free time. This used to be me and life was a lot simpler.

The Hidden Entrepreneur Inside

You see, I’m just like your typical IT engineer but with one key difference. For whatever reason, I have this insatiable desire to blaze my own path and to build something on my own that benefits other people like me. It’s a blessing and a curse.

I have a deep-rooted entrepreneur inside of my brain that refuses to give into the simpler ways of living as just an engineer. Lucky for people that enjoy free, IT screencasts, the entrepreneur is what brought you this fine TechSnips platform.

For those that either silence their entrepreneur brain or for those completely happy working as an engineer may not completely understand this phenomenon. Let me explain.

Imagine constantly thinking you should be doing something else while working on a task you enjoy more at the time. Consider when you leave the volume at 19 on your TV, see a red M&M in a bowl of green ones or get interrupted when you’re just about finished with an awesome TV show. It’s kinda like that.

Entrepreneur vs. Engineer

I, as an engineer, love solving real, tactical problems. I enjoy spending time seeing the fruits of my labor immediately in the form of a passing test, working code or automation workflow doing its thing. The reward is immediate, same-day and doesn’t require strategizing about content, researching future clients or trying to get the word out about TechSnips.

I, as an entrepreneur, am not supposed to focus on the tactical logistics of building the product. I shouldn’t be spending time neck-deep in code in favor of focusing on the TechSnips marketing strategy, SEO or ensuring that next big opportunity doesn’t pass us by!

My inner entrepreneur and engineer constantly battle. On one hand, I love working for myself, building a business, helping others and fulfilling this vision I’ve had for a long time with TechSnips but on the other hand, I sometimes just want to push the world aside and work on a cool PowerShell script!

Learning Balance

Since TechSnips is only a few months old, I’ve still got some time to find my groove. I’m still allowed to have those weeks where I don’t do the “right” thing focusing on strategic vision, marketing and managerial work in favor of the fun stuff like coding.

I’ve still got time but it’s time to start figuring out what I’m good at, not good at and finding more people to help me in this endeavor.

From what I can tell, as a founder running a successful business is about choosing your battles. You need customers to survive, a motivated team behind you, a great product and a vision for the future. I’m getting there. You also need to know when and when not to spend time on frivolous activities in favor of the greater good.

TechSnips continues to grow month after month and I’m excited about the future. I’m looking forward to growing as an entrepreneur and business owner and learning how to adapt my engineer tendendencies to business development!

 

 

Making all Objects in an AWS S3 Bucket Always Public

At TechSnips, we use Amazon S3 to store all of the stuff required to operate. One ability we need is to provide a publicly accessible repository of files. Luckily, S3 has this ability to set objects to public read-access.

To set an object to public read-access, you can click on Make Public via right-clicking on the object inside of the S3 Management Console.

S3 Make Public

This is all well and good but if you’ve got tons of files constantly being uploaded to S3, I’m not about to manually make all of my objects public like this!

After a bit of digging, I was able to figure out how to make all objects be public the moment they are added to a particular bucket. To do this requires creating a bucket policy. This bucket policy applies to all GetObject actions. You can see the bucket policy I used below for our techsnips-public S3 bucket.

This bucket policy can be assigned to the bucket via the Management Console

Once you have the bucket policy set, you’ll then need to also assign Public Access to the Everyone group as well via the Access Control List.

How to Create/Restore an Azure Virtual Machine Snapshot with PowerShell

Azure Virtual Machine Snapshot

I’ve learned that creating an Azure virtual machine snapshot isn’t quite as easy as creating checkpoints in my on-prem Hyper-V lab. Frustrated that I had to build my own tool for this, I set out to do it anyway.

As you may have found out already creating an Azure virtual machine snapshot isn’t quite as right-click and click as you’d expect. Sure, Azure has Azure Backup now but it seems overkill for the constant snapshots and reverts I’d like to do in my development environment. Instead, Azure has a Snapshots feature that appears to have been neglected by Microsoft. There’s little to no documentation on creating and restoring Azure virtual machine snapshots.

So I dug in and automated it!

I wanted two PowerShell functions so I can easily create and restore snapshots from OS disk attached to Azure virtual machines called New-AzureRmVmSnapshot and Restore-AzureRmVmSnapshot so I got to work.

Creating Azure Snapshots

First, I need to figure out how to create an Azure virtual machine snapshot in the first place. To do that, I first needed to shut down the VM that I wanted to create a snapshot for.

Stopping the Azure VM

Creating the snapshot

Once the VM was stopped, I then learned how I could create a snapshot using the New-AzureRmSnapshot cmdlet but it, unfortunately, wasn’t that easy. To gather up all of the information I needed required first finding the OS disk that was attached to the VM, creating a config and then I could create the snapshot.

Create a Disk from the Snapshot

Once the snapshot was created, you actually have to create a new Azure disk from the snapshot which requires creating another disk config and creating the disk with the New-AzureRmDisk cmdlet.

Yay! We have created our first Azure virtual machine snapshot!

Restoring an Azure virtual machine Snapshot

Now let’s say you’ve been messing around in the VM and want to restore the snapshot. This is the step that was a challenge because I could find no great step-by-step tutorial to do this. I eventually found out how to detach the old Azure OS disk from the VM and attach the new one.

Detach the Old OS Disk and Reattach new one

At this point, the snapshot should be restored but you’ve still got that old OS disk hanging around. Go ahead and clean that up.

Delete the Old OS Disk

Does all of this sound like a major pain? It did me too! Luckily, my pain is your gain! Here are two functions to take a snapshot of an OS disk attached to a VM and one to restore it. They are nothing fancy and could be improved greatly

Functions