This blog is going to serve as a place to document and discuss some of my hobbies/side projects. The majority of these projects will probably be electronics, software, internet of things, renewable energy, home automation related, but it is possible that there might be additions that are unrelated to all of these things. My goal with this blog is to create posts and updates that document the learning and development process that I go through, from initial brainstorming to project clarification and documentation, and finally implementation and testing.
A little about myself and why I want to work on the kind of projects that I am going to be doing. I am a computer scientist by training and a software developer by trade. I spent a fair amount of time during my bachelors and masters in electronics and embedded systems courses to broaden my horizons and further understand “how things work”. This was very eye-opening to me and got me very interested in the Internet of Things (IoT), which combines a lot of the technologies and levels-of-abstraction I am interested in. My masters thesis was very related to this topic and involved beehive monitoring. An aside on my masters thesis – despite having very broad and lofty goals (which were achieved with reasonable success), it was in retrospect a somewhat sophomore effort. Given the breadth of new topics that I took on as part of the research (domain understanding, embedded wireless communication, sensor interfacing, REST based APIs, micro-controller power management) and my not-insignificant course load, it was a satisfactory achievement. However, much of my research involved me trying to “reinvent the wheel”, which is a good way to learn but a bad way to create new things efficiently and effectively. The result was a system that would be difficult for others to figure out and work with (even if they subjected themselves to my thesis) and very difficult to re-purpose due to the specific technologies and home-grown protocols that I used. My thesis can be seen here:Luke_Rice_Thesis-final_bound_version, for anyone that is interested. It was a challenge to write since what I did was much more of a project, so determining what my “thesis statement” was going to be and how to structure the thesis itself was very hard (it was also by a wide margin the largest thing I’ve ever written and hopefully ever will write).
Rather than seeing my thesis as the pinnacle of my achievements (which I surely hope it will not be), I see it as the first stepping stone in the single technological paradigm that can bring together my very disparate interests. Some of the ideas that I am most looking forward to working on are power generation and remote monitoring (to be specific, gardening of all things). Thankfully, due to IoT paradigms and techniques, these seemingly disparate interests can be brought together by making power generation systems and gardening practices similarly observable.
As a part of this blog, I hope to document both the progress and direction of my projects, but also my personal growth and development as I define and refine my process for taking on projects, maintaining motivation and interest, and producing a final product which I will both learn a lot from doing and take pride in having done. Being realistic in the scope of my projects will definitely be a challenge (and has been one of my failings in the past), but I expect that my previous experiences working in this area will help me to improve in this area. Hopefully overcoming these challenges will help whoever (if anyonever) reads this.
The whole process that I am outlining will be flexible, subject to change and open to debate. The absolute #1 goal I have is to HAVE FUN and add just enough structure that I am HAVING FUN without becoming so disorganized that the process is no longer fun (which somewhat happened during my thesis work, which is understandable). I do have a job that unfortunately leaves me much less “free time” than I used to have in school, but at the same time the structure and low-stress work environment that I have makes me feel that in a way I have more time. I have joined a local hackerspace that I am going to use with my projects to allow me to hopefully be around other interested people (regardless of whether I am working alone or not) and also give me a place to work away from home in case home becomes too comfortable to work in after I come home (I have found myself having a tendency to prefer doing work-work from home more than self-work because it is so much better defined and accessible).
The overall structure of my posts will loosely follow this process, if wordpress will allow me to treat my posts more like threads:
- Project description(1): motivation, use cases
- Project definition(1): simple diagrams, technology discussions, choice justifications
- Project organization(1): description of how I will attempt to organize the project, manage my time, organize the tasks I will have to complete and organize my materials (hardware, information, etc).
- Project implementation(n): these posts will probably be incremental and smaller, kind of an “as I go” bunch of updates that will hopefully come once a week or so (maybe more if I’m raring to go).
- Project conclusion(1): One of the most important things I can do is to set a reasonable scope and STOP WHEN I GET TO IT so that these projects don’t turn into partially finished messes or never-ending whatevers.
I may maintain a thread for random asides, cool things I find around that people who might read this (I accept that nobody will probably read this) would also find interesting, etc. If anyone stumbles upon this before get some stuff on it and start trying to “promote it” to people I already know, shoot me a comment somewhere. I would love to have dialog about the topics that might be discussed, exchange tips on balancing projects and work and life and whatever else might come up. I think this is long enough for an intro post so now its time to get to work!