Most of my blogs are about my physical projects, my tools like my 3d printer, my Rigol power supply and scope and my beloved soldering iron. But, truth to be told, most of my time is spent behind my computer. Today I’m going to give you a rundown of tools and ingredients I use the most when working on my Mac.
Even though I love micro controller projects and enjoy creating an iPhone app, most of my development time is spent building web-projects. Web development has been my work for the past 15 years and is the way I manage to pay for all my side projects.
As most of the web developers I started my web development career using FTP to upload my files to a web server. But when projects became bigger, and I started to work in a team, I soon figured I needed to switch to a version control system: GIT. And even though Code School does a perfect job in teaching you the basics on the command line, it can be really helpful to have a GUI from time to time. For this, I use Tower.
Of course, web development nowadays is mostly based on using open source frameworks. I’ve never really been a fan of backend frameworks. Until I discovered Laravel a few years ago. It’s a clean, simple and extremely powerful PHP framework with an awesome community behind it. Especially sites like Laracasts really make it fun and easy to get you going with this framework.
Laravel really can be this clean …
On the frontend I’ve been playing around with Angular for a while. But for me, it felt too bloated. So recently, I started using Vue.js as an alternative. It’s fast, it’s simple and it’s compact. If you’re looking for a front-end framework. Definitely give it a try.
Combining the above ingredients used to be a bit cumbersome. But with Laravel’s Elixir, combining these frameworks is easy as pie!
After years of web development it was time to expand my horizon. With the help of Stanford’s iTunes U course, I managed to pick up the skills to develop my own apps. And while this still isn’t my daily core business, I definitely enjoy it. Especially since the release of Swift.
Paul Hegarty, worlds best development teacher!
I know there are heavy discussions on what IDE is the best. I must admit I’m a XCode guy. Sure, it has it’s quirks. But it does everything that I need for building my apps. And honestly, that’s pretty much it. In the past I have used PaintCode for some code generation. But with it’s €113,- price tag, I’ll just find an other solution for it. (Not that I don’t think the app isn’t worth it, but when I only use it once or twice every year, it’s a bit much …)
My app development isn’t really centered around some open source frameworks. Most of the work is just based on the core Apple API’s. But every now and then, I use some open source modules to make live a bit easier. For this, I usualy snoop around on GitHub’s Trending Swift page. Especially with he help of Carthage, the usage of swift dependencies isn’t very cumbersome anymore. In the past I used CocoaPods for this, but I really didn’t like the fact that CocoaPods modifies my workspace.
Github. My favorite candy store.
Embedded Software development
Programming my microprocessors like an Arduino or ESP8266 is really mostly just for fun. In no way am I highly experienced on this field. But in the last 2 or 3 years i’ve experimented a lot with the available possibilities.
So, what’s the verdict after those years of experimentation? Use the PlatformIO IDE! It’s based on the earlier mentioned Atom editor (this is how I found out about Atom in the first place), and really makes the development for microprocessors so much more powerful. Honestly, ever since I switched from the Arduino editor to PlatformIO, I didn’t touch the Arduino editor anymore.
Finally! A real editor to program your Arduino.
Additionally, since my projects stared to include the usage of MQTT servers, I’ve added the MQTT-Spy app to my toolbox. I used to use MQTT.fx for this, but I like MQTT-Spy’s UI a little bit better. That being said. It really is time to build a clean looking native Mac MQTT app.
Library wise, I heavily rely on Adafruit’s open source software. They do an awesome job of writing easy to use libraries and giving easy to understand examples. If you use their code, be fair and buy some stuff at Adafruit. That way they can continue to contribute to the open source community.
3D-printing and 3D-design is one of those hobbies that you really can get sucked into. A little over a year ago, I didn’t have a 3D printer yet, let alone did I know how to design 3D printable object. Now, 1 year later, most of my projects are based around a 3D-printing experiment.
It took me a few weeks to find out the perfect 3D-drawing tool for my wishes. I started out with OpenSCAD, a program to make 3D models using code. But as powerful as it is, it doesn’t really help you with rapid prototyping. I then switched to OnShape, which is an cloud based parametric CAD system. Powerful and simple. But with one big drawback: it was all browser based. Luckily, I eventually stumbled upon Fusion360 by Autodesk. A cloud based 3D CAD tool which is EXTREMELY powerful. Simple to learn (using some YouTube video’s). And best of all: Free for students, enthusiasts, hobbyists, and startups!
As a 3D-slicer, I tried Cura, Slic3r and Simplify3D. But in the end, I sticked with the Lulzbot suggested Cura. I might give Simplify3D an other try in the future. But since it has a pretty high price tag and no demo version, that might take a while …
In addition to the 3D-drawing tool and the slicer, I also want to suggest to use Octoprint. The snappy web interface for your 3D printer. This allows you to remotely use your 3D printer with the help of a cheap Raspberry Pi.
Most of my designs are self made without the use of any premade designs. But every now and then, you just want to print something fun. For this, I use sites like: Thingiverse, YouMagine and GrabCad. One thing to note is that Fusion 360 allows you to import McMaster-Carr parts into your design. So no longer do you need to model your own nuts, bolts and gears.
These are just some of the things I spend most of my time on, behind my computer. Of course I’m always looking for new tools and ingredients to make my life a little more easier and my projects a little bit better, so if you have any suggestion, please leave them in a comment down below.