Tools & Resources

As I've started this little project, I've gone from using some simple automation web apps to more complex tools.  Here's my little resource guide for you, if you're trying to follow along at home.

IFTTT - (pronounced like 'gift' without the 'g') Simple enough to use, this is where my automation journey started.  The platform showed a lot of promise to do cool stuff, but like much of technology it's gone to automating social media posting and saving e-mails...

 + Continually add more services
 + Simple to use
 - Not much depth (can't chain multiple services together)
 - Limited functionality (don't have access to all features from each service)

If you're getting your feet wet, this is a cool platform to get started with.  It allows you to get some simple applets published very quickly - which is important when you're starting out.

When you're learning, shoot for very small projects which gets you quick results.  That feedback will help you learn faster than trying for some gargantuan project that will take months to complete.  You'll lose steam and motivation and your goals will fizzle out.  You have to find some way to keep rewarding yourself with small wins that keep you pumped up for the next little challenge.

Zapier - where the big boys play.  I think of Zapier as the grown-up version of IFTTT, where they take off the training wheels and let you manipulate various inputs, add your own code and integrate multiple services (2+) together for your 'Zaps'.  Their platform is also very intuitive, but is geared more for businesses than the average consumer.  Maybe that's the distinction I love.

 + More customization with apps/services
 + Ability to chain multiple services together
 + Simple-ish to use
 - Requires logical understanding of workflow (plan your goal out first)
 - Small/Medium catalog of services compared to IFTTT

I'm really struggling to think of cons when it comes to Zapier.  I really love their service.  My one commentary about their platform is that their code integration uses Python 2.7 native + Requests - and as a Python 3.6 guy, it was a bit frustrating trying to refactor my code to make it work for 2.7.  That might be a personal pain point, but they also give you the option of using Node.js, which is a nice compromise.

Other Thoughts & Resources:


If you've made it this far, you're down the rabbit hole for sure.

My theory is that there's really two types of programming:
  • Functional - to make something new; creating some utility where it didn't exist before.  This is a really cools space and happens all the time.  People are developing new technology all around us and changing the landscape of our world.  This is the 'Do Stuff' type of programming and I think we all do it at some level.  It's fun.  But I prefer the next type.
  • Automating - this is where you program something (computer, robot, apps) to do tasks for you.  You take something you do or can do and then hand it over to a machine which can do it at high precision at 100x or 1000x the speed.  This to me is the coolest part of programming, you get to duplicate yourself.  You take what you do and have a program do it for you.  
Now this is my personal take on programming, and you may not agree.  Which is fine, you're entitled to your own opinions.  My passion is in the automation bit and - yes - sometimes you invent things as part of the process (functional programming).  By in large, I think that's the power of computers to take a task that humans would do slowly and speed it up and then multiply it out.  

It's the ultimate way to scale an idea.

Check out:


Mike Levin - Really cool SEO and engineer who developed Levinux.  Learned a lot about the history of computer programming and Linux from his tiny virtual server distro.  You won't be disappointed if you start following this guy on the web.  

Python - Python is IMHO the best programming language to learn both for starting and functionally in the future.  It's currently one of the hottest languages for Machine Learning and the community for it is amazing.  I'd suggest if you're just now getting into it, learn 3.6 as 2.7 will be going away at some point in the future.
 > Try PyCharm if you're looking for an IDE, it's my favorite for python.  Other's prefer Spyder which is include in Anaconda (see below).
 > Try Anaconda if you're looking for a deployment with packages installed.

JavaScript - If you are going to be in the web app space, you should know JavaScript.  Its very near ubiquitous at this point, though Python is in very close second.  My opinion is that it doesn't hurt to know both, but if you're just getting started, pick up Python first.  Once when you've got a few projects under your belt, try JavaScript.  One huge advantage with JS is that you don't need a compiler.  Any web browser can be used to run JS.  Just save your text file to html and you're good to go.



No comments:

Post a Comment