Open keynote 2012 conference empathy for API developer users user personas in api very good apis in the world. Motivate engagement, e.g. python rss reader library.
The journey from novice coder to open source project owner was reached last week when the url went up for the lifestylelinking – open source project. It is just the start but open sourcing the code I have been working on for years to build the site mepath.com is a big moment for me, as a coder and for my life. Some reflections on it all:
- I wish I had open sourced the code earlier. Why? Years of isolation coding has some down sides, it cuts you off from feedback. However, most of that time was in a mode I call, ‘discovery coding’. That is figuring out a science, in this case involving the mathematics of the wisdom of the crowd to personalize information and connect individuals in context.
- Already, the code is evolving with the help of others, my cosy server and stack now expose to the diversity of the Internet world.
- End users given working setups of the site can provide more precise feedback on the functionality and usability and data is gathered on need rather then just because we can (hopefully thats better for the environment).
- You feel like you are contributing to the greater good.
The future is an uncertain place but open sourcing the code means all are now free to participate.
The first lines of code I wrote we all sequentially written, you read about functions and after functions you come to OOP, Object Orientated Programming ie. Classes. Each step along the way it seems so hard to evolve but when you get the hang of functions and their properties, you can not imagine how you managed to code with out them. Most of my code is grouped into functions and have files that group many functions together. I guess instead of files I could be using classes now? I read that class are a good way of spawning multiple occasions of the same bit of code but for different data inputs. Again like moving to functions, there are a whole new set of properties to understand about writing Classes. Each class instant is called an Object (straight for the text book speak). The code quickly looses that familiar look but with that we get many new benefits, technical and maintenance and I expect with time this will all look ‘normal’ again.
It is not that I do not use many classes right now but these are mainly opensource files I have imported. Creating my classes is the new frontier.
I am preparing to open source the code I have been writing for mepath.com . The hardest work has been figuring out a logic that allow a machine to ‘understand’ context of the text that has been authored. However, preparing the code for release is proving real hard too. Completely new, you soon pick up on words like SVN or GIT but I never read you need a local client and a hosting service. Well, the sites do say that but say it clearly in geek speak. I contrast that wth the current ease of ftp – ing the files up to hosting account. OK, no version control except human and backups done well, occationally but the opportunity to share is missing. The opportunity to share is the goal, if others do not have a chance to see and read about the goals you want to achieve, then it is highly unlikely they will get involved. I have been pointed to this book . I am doing my best to learn from it. Hopefully I will write soon about where the code is hosted, that is if you are interested in the lifestyle linking vision code we are figuring out.
I entitled my last post along the lines of my Rookies year as a coder. That was not exactly true, I wrote my first html lines of code back in 1996 after reading a Internet Magazine, yes they existed back then. I was a trainee Accountant and some made remarks, why are you reading that? The intervening time gives the best answer, the Internet is everywhere.
I am first and foremost a user of the Internet and most of my entrepeneurial life has been about having ideas and finding others to development them, that is write the code. mepath.com started that way but about 18 months ago I wanted to take the lead in writing the code. The team was experimenting with datamining techniques to understand context. Us humans can read a blog post and say, this is about swimming and that is a sport etc. Getting a machine to ‘understand’ such a straight forward interpretation of context is very hard. I was naive to how hard. I have come to learn it is one of the biggest problems out there in computer science looking to be solved.
That is not the problem I have set out to solve. My vision is about sharing information to allow individuals to live ‘positive prevention‘ in other words, discover the lifestyle cause and effect on health and to create a personalized future that ensure I can live a lifestyle I want to. Solving ‘machine intelligence’ is just a problem along that path that needs addressed. And there are many teams working on it, that illustrates the magnitude of the problem. I am always happy to reuse the best ideas out there. I can state quite categorically that mepath would be not be where it is today without the re-use of opensource code and re-use of ideas I have encountered in my education and entrepreneurship. To contribute in that same spirit I am currently working on releasing the logic behind mepath as an opensource project.
Until recently, the code written has failed. Failed to solve the big problem but achieved in the discovery of ideas that seem to be working and working to some degree reliably. More over, working on a small scale and designed to work better with more scaling of information. We will see as time progresses.
The liberating thing about writing software is that you can take an idea, that intangible linkages of thoughts in your head, sometimes distilled into words or diagrams and you can make them real. That is the buzz I get from writing code. First I am an early adopter user of information technology but I have always listened to the brightest technologist too. You were just as likely to see me at a SV technology SIG (special interest group) as a web2.0 unconference. Free from a formal computer science education has given me the opportunity to go with my ideas as I see them.
I cannot say, that mepath uses datamining techniques of this school of thought or this semantic web technique or computation method. I sure it does fit in with them but I describe the code combining the use of ‘wisdom of the crowd’ data aggregation and sematic web techniques. Both are required and the concepts are use many times in the logic processing that has been discovered. My future blog post will start the process of sharing those as best I can.