Joe Conley Tagged conferences Random thoughts on technology, books, golf, and everything else that interests me PHLAI Me to the Moon <p><img src="/assets/phlai.jpg" /></p> <p>Hello friends! I was lucky enough last week to attend <a href="">PHLAI</a>, a Comcast-sponsored conference on machine learning and artificial intelligence. The dreary weather did not dampen our spirits as practitioners and business stakeholders met to discuss one of the most important trends in our lifetime.</p> <p>The talks ranged from high-level, entertaining overviews to deep-dive technical lectures. The discussions were very focused and targeted on pragmatic approaches to solving business problems using machine learning and AI, and it’s amazing to see how much progress is being made in a seemingly short amount of time.</p> <p>Here are a few takeaways.</p> <h2 id="the-importance-of-comprehension-of-models">The importance of comprehension of models</h2> <p>This topic sprung up everywhere. The ability to understand why a model predicts something has a great bearing on regulatory concerns, racial profiling, and security. We can’t make meaningful progress in AI without taking steps to make these models as explainable as possible. And it doesn’t even have to be something as explicit as opening the black box and producing a deterministic formula, we just need some insight as to why models predict the way they do.</p> <h2 id="pragmatic-approach">Pragmatic approach</h2> <p>I enjoyed the constant focus on simplicity and picking the right tool for the job. Why don’t you put down those neural nets and try a simple regression? Or maybe use specific models for specific tasks and (gasp) use imperative or brute force techniques for other tasks. I must have heard the old <a href="">hammer and nail adage</a> in at least three separate talks, which is great. I think most experienced software engineers have sat down their junior teammates and said the same quote. It’s important to be mindful of our own biases and think about what delivers value to your client/business stakeholder by using the simplest tool for the job.</p> <h2 id="spread-the-love">Spread the love</h2> <p>The final trend I noticed was the focus on distributing ML/AI thinking among several teams rather than having it centralized in one silo. This idea was backed up by studies that showed companies who took a distributed approach showed better sales/ROI numbers that companies who silo-ed their innovation efforts on isolated teams.</p> <p>From an investment perspective, I also appreciated <a href="">Kartik Hosanagar’s</a>’s thoughts on a balanced AI portfolio. His studies showed that focusing mostly on quick, iterative wins with a few longer-term projects led to positive ROI. I love how practical this idea is. Speaking in terms of dollars and cents resonates much more strongly with the business stakeholders and aligns these projects with the goals of the entire organization.</p> <h1 id="reflection">Reflection</h1> <p>I’ve been with Chariot Solutions for a few years now, and as such have had the opportunity to attend several conferences like this. Taking this time to think and reflect is essential in ALL fields, especially a field as fast-moving and relevant as artificial intelligence.<a href="">Bill Gates</a> famously takes an annual “think week” to explore and reflect on big ideas. Conferences are even better, they give you a chance to talk to other people in the field (talking being still one of the most effective forms of information gathering).</p> <p>But what’s the point of these conferences if we just go back to our day jobs and carry on with business as usual? We need to find a way to <strong>actively</strong> engage with these ideas. That engagement could be different for everyone. For some it could mean creating a small project using a new AI framework. Or reading a book about a specific trend or application. Or writing a blog post to organize your thoughts and make an argument. Either way, I’d argue that what you do <strong>after</strong> the conference is just as important as what you do during the conference.</p> Tue, 22 Aug 2017 00:00:00 +0000 The O'Reilly AI Conference in NY <p><img src="/assets/ainy.jpg" /><br /><small>Photo credit: <a href="">O'Reilly AI</a></small></p> <p>I recently had the pleasure of attending the nascent <a href="">O’Reilly AI Conference</a> in Midtown Manhattan. The event focused on the technical progress being made in deep learning, reinforcement learning, and cognitive systems that augment human intelligence. These advancements have already had a significant impact in many walks of life like autonomous driving, health care, and knowledge work. My impression from the conference was that while there’s been amazing gains in specific domains (i.e. narrow AI), there hasn’t been much focus yet on practical paths to developing fully-thinking, superintelligent systems (i.e. strong AI).</p> <h2 id="day-one---machines-as-thought-partners">Day One - Machines as Thought Partners</h2> <p>The talks I enjoyed the most on day one focused on building intelligent systems that work as “thought partners” with humans. David Ferrucci, the creator of IBM’s Watson and <a href="">Elemental Cognition</a>, is creating intelligent systems which build a foundation of knowledge via dialogue with human counterparts. In this way, an intelligent system could learn much like a child does, asking questions and learning from experience. Whereas most predictive systems tend to rely on patterns in data, these systems would try to build actual knowledge that considers things like context, language, and even culture.</p> <iframe src="" width="640" height="360" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe> <p><br /></p> <p>Another talk that I really enjoyed was about advanced <a href="">Natural language generation (NLG)</a> by Kristian Hammond of <a href="">Narrative Science</a>. He talked about intelligent systems as storytellers. Instead of presenting fancy visualizations for a data table in Excel, such a system could parse the table, do statistical analysis, and use NLG to tell you what’s interesting and important about the data. I love the efficiency in that! Developers spend so much time massaging, transforming, and visualizing data when really the endgame is to answer a few simple questions. Advances in NLG hold the promise of minimizing all this ceremony, freeing engineers up to solve more interesting problems and making us more productive.</p> <p>Ideas like these can really challenge one’s perspective on the future of work. Katy George of <a href="">McKinsey &amp; Co.</a> spoke about the impact of automation on jobs. She mentioned that very specific classes of jobs will probably be automated by AI soon, like collecting and organizing data (e.g. administrative/data entry) and predictable physical work (e.g. driving a truck). Interestingly, though, wages aren’t a strong indicator of what jobs can be automated. She mentioned landscaping as a low wage job that would be tough to automate, while high-wage lawyers and paralegals risk being replaced by <a href="">systems that do automated research and mine large datasets</a>.</p> <p>I think everyone needs to reflect on the future of work. I’ve been holding on to the belief that my job of software engineer was <em>very unlikely</em> to be replaced by a machine. <a href="">A recent Bloomberg article</a> highlights a study from the University of Oxford predicting what jobs are at risk for automation, and I was surprised to find “Computer Programmer” roughly in the middle. While I’m still convinced that I won’t be replaced by AI in the short term, I can certainly envision a future where there’s less explicit code being written and more reliance on probabilistic models and more of the repeatable grunt work of programming is handled by AI.</p> <p><a href="" target="_blank"><img src="" /></a><br /></p> <h2 id="day-two---reinforcement-learning-systems">Day Two - Reinforcement Learning Systems</h2> <p>Day Two had some interesting talks on reinforcement learning, especially in the keynotes. <a href="">Anca Dragan from UC Berkeley</a> talked about the development of autonomous driving systems, and it was neat to see the iterations they went through to get a usable system. Their initial effort resulted in an overly defensive autonomous driver. When driving on a crowded California highway, the system would wait too long for a safe cushion to change lanes, and when other cars at a 4-way intersection never came to a full stop, it would confuse the AI and prevent it from moving. So after some tinkering, the system <em>itself</em> organically developed a more pragmatic strategy that merged defensive driving with a more collaborative approach that worked much better with live traffic.</p> <p>Another neat example was Libratus (Latin for “balanced”), a heads-up no-limit Texas Hold ‘Em bot with a three-pronged strategy to playing poker. It starts with computing a Nash Equilibrium based on the abstraction of the game (they use an abstraction to reduce the problem space). Then, during the later stages of the hand, it would employ an endgame solver to help analyze all possible permutations of play. Finally, it would analyze <em>its own</em> historical play to find its own weaknesses and improve on them. Consequently, Libratus <a href="">beat the world’s best poker players handily</a>, earning over $1 million in the process. Though this might seem like a narrow application of AI, systems like Libratus could provide insight into other applications where imperfect information with one or more agents is relevant.</p> <iframe width="640" height="360" src="" frameborder="0" allowfullscreen=""></iframe> <p><br /></p> <p>Finally, the keynote given by Peter Norvig, one of the fathers of AI, stressed how AI could revolutionize software development. He spoke about a future where engineers were more like teachers than plumbers, instructing machines how to model certain processes at a higher level. In contrast, today’s software engineers are essentially micromanagers, writing every single instruction for the machine to handle. It’s refreshing to picture a world where coders could effectively build systems with more higher-level thinking but still have the confidence that the instructions will be interpreted and implemented without loss of meaning or control.</p> <iframe width="640" height="360" src="" frameborder="0" allowfullscreen=""></iframe> <p><br /></p> <h2 id="reflection">Reflection</h2> <p>I was overwhelmed by the sheer impact that AI is already having in dozens of different fields. While the field of AI has gone through trends of popularity and decline in the past, it’s hard to ignore the current wealth of possibilities given the advent of cheap scalable computing power. My one hope for future conferences (which wasn’t adequately addressed at this one) is more discussion of how to build AI in a balanced, secure manner. The debate on the safety of AI <a href="">is currently raging</a>, with intelligent people on both sides of the issue. It’s important that well-meaning thinkers continue to debate this topic, because the capabilities of AI could very well grow exponentially beyond our control.</p> <p>I think what’s most encouraging to me (as a software engineer), is that since this field is still relatively new, we as engineers have the opportunity to help shape its direction. It’s a good reminder that technology isn’t inevitable, it gets built by people, so if you’re concerned about the direction of AI, get involved!</p> <h2 id="further-reading">Further Reading</h2> <ul> <li><a href="">The AI Revolution: The Road to Superintelligence - Wait But Why</a> - Funny and accessible overview of AI and how it could evolve.</li> <li><a href="">Superintelligence: Paths, Dangers, Strategies by Nick Bostrom</a> - one of the more popular tomes on AI, this gives a thorough treatment of the history and context of AI. I’d hazard to say this is required reading if you’re interested in AI.</li> <li><a href="">AI Course on edX</a> - Good mix of theory and some hands-on work with Python</li> </ul> Fri, 28 Jul 2017 00:00:00 +0000 Scala By The Schuylkill Recap <p>This past Tuesday I had the pleasure of attending the <a href="">Scala by the Schuylkill conference</a> at Comcast headquarters in downtown Philadelphia. Initially begun as an internal Scala conference, the organizers opened the conference this year to external folks interested in Scala. I learned a lot from this event, gaining perspective on trends in the Scala community and sparking curiosity in several interesting applications of the Scala language.</p> <blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Our <a href="">#ScalaByTheSchuylkill</a> organizers with keynote speaker <a href="">@sreekotay</a>! <a href="">#onbreak</a> <a href="">#scala</a> <a href=""></a></p>&mdash; Comcast Careers (@comcastcareers) <a href="">January 24, 2017</a></blockquote> <script async="" src="//" charset="utf-8"></script> <p><br /></p> <p>The keynote speeches were the highlight of the conference for me. Comcast’s CTO, <a href="">Sree Kotay</a>, gave an engaging talk on the culture of innovation at Comcast and how they’ve evolved into a “technology first” company (as quoted recently by their CEO Brian Roberts). He also explained their rationale for using Scala for certain projects, noting the interoperability with Java, modularity, and its ability to draw top talent as key factors of adoption. He even showed off his geek credentials by detailing his love/hate relationship with a certain Scala web service library. It’s clear that Sree is an engineer at heart and it was refreshing to see that the CTO of a multi-billion dollar company still enjoys tinkering with code.</p> <p><a href="">Michael Pilquist</a> gave the other keynote, doing a masterful job in explaining the <a href="">value of functional programming</a>. He boiled down the essence of FP as managing the complexity of both state and control flow via composability and small expressions in isolation. He also demystified category theory, an area of mathematics I’ve always found interesting but never really saw the practical use for until now. He stressed that category theory in programming is used to achieve precision by finding the appropriate level of abstraction for a given problem to focus on the essential. Michael put these ideas in an accessible and interesting context, and I also appreciated his book recommendation, <a href=""><em>How to Bake Pi</em></a> by Eugenia Chang, which I’m currently devouring.</p> <p>A great variety of talks followed, touching on interesting topics like GIS, machine learning, microservices, and streaming with a focus on tools like Akka and Spark. About half of the speakers were from Comcast, and it was interesting to see the problems they’ve had to solve and why they chose Scala to solve them (hint: they work with data, a LOT of it). I came away with at least a dozen different TODOs to research new libraries or techniques. I also enjoyed meeting new people and catching up with some past colleagues. As an introvert, I don’t focus much on networking and relationship building, but a tech conference focused on a specific technology like Scala creates an environment that’s very conducive to meeting new people and learning about their work.</p> <p>I’m happy to see an important tech company like Comcast invest so much time and energy into both the Scala ecosystem and the local Scala community here in Philadelphia. It’s clear that, regardless of what you may have heard, Scala is here to stay!</p> <p>Special thanks to Chariot for sponsoring my attendance!</p> Fri, 27 Jan 2017 00:00:00 +0000 The Data Science Conference Recap <p>I recently attended the first annual <a href="">The Data Science Conference</a> in downtown Chicago. You can read about my experience on the <a href="">Life at Chariot</a> blog. Thanks!</p> Mon, 23 Nov 2015 00:00:00 +0000 Chariot Day 2015 Recap <p>I recently had the pleasure of attending an internal tech conference at Chariot Solutions. You can read about my experience on the <a href="">Life at Chariot</a> blog. Thanks!</p> Wed, 27 May 2015 00:00:00 +0000 Philly ETE 2015 Recap <p>Last week I attended my first tech conference, the <a href="">Emerging Technologies for the Enterprise Conference</a> in Philadelphia. I was able to sneak in at the last minute as a new member of <a href="">Chariot Solutions</a>, a company which thus far has proven to be an uncommon collection of intelligent individuals. Their conference set the bar high for future conferences as there was a wealth of interesting talks covering a great swath of subjects. It was also nice to reconnect with former coworkers and learn what new and exciting technologies they were using.</p> <p>The keynote speakers on both days gave excellent talks focusing on our relationship to technology. <a href="">Tom Igoe</a> focused on the impact of physical computing in our lives and closed with a very poignant example of how a son used physical computing to allow his father to continue playing guitar despite his decreased motor skills. <a href="">Dave Thomas</a> gave an insightful talk about the important of gaining tacit knowledge through experience and not being afraid to make mistakes as that’s how the best knowledge is found.</p> <p>My favorite talk was What is Rust? by <a href="">Yehuda Katz</a>. Having been so immeresed in the JVM world, I was pleasantly surprised at the simplicity of the Rust language in handling memory management and mutability. I’ll definitely be building my next pet project in Rust. I also thoroughly enjoyed <a href="">Brian Shirai’s</a> talk The End Of General Purpose Languages: Rubinius 3.0 And The Next 10 Million Programs. Brian was very thoughtful and challenged my basic assumptions and beliefs about programming. I’m now frantically scouring YouTube for more of his talks. All of these talks brought to mind a recent <a href="">Freakonomics podcast about teachers</a> which notes that the best teachers “appeal to both the head and the heart”. The same goes for good tech talks as well.</p> <p>I was forutnate to attend this conference when I did. I was starting to feel “inspiration inertia” for the field of programming. I mean how many blog posts can you read about Reactive/Big Data/Microservices before you start to wonder, is there anything else going on in this field? One audience member at a talk hinted at this malaise, complaining about the “marketingspeak” that can dominate certain organizations. Attending this conference proved to me that, on the contrary, the field of computer science is rife with new and exciting advances, probably moreso than any other field (dentists or lawyers don’t deal with the rate of change that programmers do). It’s simply incumbent upon you as a technologist to constantly seek out new and exciting things (and not get bogged down by “<a href="">marchitecture</a>” as <a href="">Jamie Allen</a> put it).</p> <p>This leads me to my advice for future conference-goers: go to talks outside of your comfort zone. While I certainly was impressed by the JVM-based talks I attended, I didn’t learn as much, mostly because I tend to watch similar talks online anyway. The most interesting and thought-provoking talks were the ones where I knew little or nothing about the subject matter. Also, don’t be afraid to socialize with the speakers. The presenters I spoke with were very approachable and eager to delve deeper into their subject matter or talk about anything under the sun.</p> <p>The folks at Chariot did a phenomenal job with ETE. I’m now eagerly investigating which tech conference to attend this year (another perk of working for Chariot, they’ll send you to a conference once a year). If you have the means, I’d highly recommend checking out conferences like ETE on a regular basis.</p> Mon, 13 Apr 2015 00:00:00 +0000