IEEEE CCECE 2014 and Cognitive Agent Simulation

This past week I attended IEEE Canadian Conference on Electrical and Computer Engineering (CCECE2014) in Toronto, Canada. I was there because of two papers I was a co-author on. The work was part of a side project I was involved in on cognitive agent simulation. The idea was inspired by the observation that in the spring time, many newborn animals are struck as they cross the street. Later in the year, it seems that fewer animals meet this fate. So have the animals which survived observed the doomed creates being struck, learned something about the environment, and managed to become more intelligent? We aimed to model this type of environment, and then re-create the most basic intelligence to try to replicate this behaviour with a cognitive agent.

I was responsible for implementing the simulation tool and the naiive learning algorithm which we also presented at the conference. The simulator was created in c/c++ and was designed in such a way that later on the intelligence algorithms could be swapped out, so that we could also experiment with more sophisticated learning algorithms.


Good News! And Startups!

A few weeks back I posted about a couple of hackathons I participated in. The first was the OpenData Guelph hackathon which I participated in with my friend from UW Stratford, Carlos Saavedra. We placed 3rd in the contest. Since then, we also found out that our app in the CODE contest, newRoots made it to the top 15 in Canada. The contest had around 900 participants and we were selected to pitch at the final day. While waiting for pitch day, I tried to get involved in anything I could at the University of Guelph to try to improve my pitch skills. I found a practice pitch day that was being put on by the Entrepreneurial Society at the University of Guelph and tried to be active at the event as much as possible.

banner 10153187_869615509730921_1433170679_n esLogoVerticalLogo

I have another side project I’ve slowly been working on for a couple years called Redtree Robotics. I decided during an interactive session to try to pitch this idea without even thinking about my pitch. It was terrible. But the speaker allowed me to try again and I managed to reduce what Redtree does into a couple of easy to understand sentences. Later we had to form groups and pitch an idea that would help the city of Guelph deal with a projected 40% population growth in the upcoming years. The team I was assigned and I, came up with the idea of an autonomous car service. During this pitch, I learned the importance of numbers. Things like market size, how much of that market you might be able to reasonably obtain, and how much revenue that might mean to the company. Our pitch for autonomous cars came in third. So there were two big take-aways from this day. Keep your pitch simple and understandable, and focus on numbers.


Hub Pitches

Carlos and I met before the big CODE2014 pitch and tried to apply these ideas to our pitch. On pitch day, Carlos introduced us and spent the first minute or so giving a very simple and easy to understand explanation of our idea and a tiny bit about who we are. We then showed the video, which showed how our app, newRoots worked. Then I followed up with the numbers. Our strategy worked – we ended up winning the contest and $26000.

Following this success, I attended another pitch event put on by the Centre for Business and Social Entrepreneurship at the University of Guelph called “Pitch Envy”. At this event, the guy who started Student Car Share came in and talked more about what a good pitch had in it. Again it was more about numbers, but also an emphasis on a good team. He also talked a bit about how to get investment in a good idea without giving too much of the company away which will likely be useful eventually. I also spoke with a friend, who has a startup named Voltera at UW Velocity about what he thought made up a good pitch. The best advice was to pitch to as many people as possible, one a time and then incorporate their advice into the pitch so it is slowly refined over time.

After two years of part time work on Red Tree Robotics, we decided we would finally try to get some funding. We applied to the Hub, the first incubator program at the University of Guelph. Our team had three members, so the pitch was a challenge. We had to figure out who would say what, and had to get timing down to be under the strict 5 minute deadline. This was the biggest challenge, but once we identified the strengths of each team member, the pitch went really smooth. We ended up winning a spot in the incubator and start May 1st!


If you are interested in following the progress of either of the startups:
Red Tree Robotics: Twitter: @redtreerobotics
ElectricSheep: Twitter: @2electricsheep


I’ve recently participated in a couple of hackathons to keep brushed up on my coding skills. In both instances, the hackathons were motivated by working with open data, which I also find interesting. Open data is usually datasets that government has sitting in a database somewhere that may be useful for apps, programs or visualization that they do not necessarily have time to do themselves. Since the people of the country technically “own” the data, there has been a movement lately to release it to the people to use. In both hackathons, I worked with my friend (and media and design expert) – Carlos Saavedra.

The first was the “Open Data Guelph” hackathon which was put on by the City of Guelph. You can see the data sets available at the Guelph Open Data website. Since we were given data like bus routes, heritage site locations, parks, bicycle paths and elevation / topographic data our motivation was “build you own adventure” to discover the city of Guelph. The easiest data to work with was the park data since it was csv and followed a regular easy to read format. There were also some data sets which used XML. This was also quite easy to handle in PHP because there are built-in functions to parse XML. The tricky data was ESRI shapefiles. There were a few PHP libraries available to read these types of files, but given the time constraints (24 hours) of the hackathon, we didn’t end up getting to use this data. In the end, we ended up getting the bus data sets, and the park data sets working.

You can try our app here: myCity Guelph Adventure Game.

The second was the “CODE (Canadian Open Data Experience)” competition by the Government of Canada. This competition had much more data, and the sets were very large compared to the Guelph data. For instance, one of the sets for labour force data was 65 megabytes and had over 500,000 lines of records to parse. For this app, we decided given the datasets we had available, we would create an app for immigrants to help them find a good city to live in. It is well known in Canada that the typical choice is Toronto, however maybe there are places where people may have a better fit given certain preferences. We used criteria like climate, tolerance for crime, housing prices, desired income level, type of job industry the person is looking for, and whether they were part of a particular visible minority to determine which city may be best for them. Here’s a quick demo video of the “newRoots app“. You can try the app yourself at the newRoots app page.

You can also follow our team’s twitter account – @2electricsheep