June 3, 2017
The Raspberry Pi is now the third best selling general purpose computer after PCs and Macs, and can be used on many fun creative STEM projects. I used the $10 PiZeroW computer to code in Python and build the #PiScraper, an automated price checking appliance that notifies me via email when a product I’m looking for goes on sale.
Chris will go over what is Apache Spark and demo completing some tasks in a Jupyter notebook with PySpark.
The NBCC Mobile First Technology initiative (MFTi) publishes an annual report that surveys recent issues and developments in mobile ICT in the research priority areas of MFTi as well as other selected science, technology and engineering areas related to mobile ICT. This talk will be a distillation of this survey, with particular emphasis on user and device demographics and software development issues.
Progressive Web apps (PWA) is a recent software development paradigm that aims to create Web apps that provide user interaction experiences like native apps on both mobile and desktop devices; and capabilities that are more easily enabled by Web mechanisms, such as social networking, indexing, and deep linking between apps. The PWA paradigm is enabled by the W3C’s Web Components standards.This talk will provide background on PWA and show mobile app source code developed using the Google Polymer framework.
Chatbots are fun but they can also have a significant impact on how teams work together, our chatbot is an integral part of our team these days. In this talk I will share the story of how we got to this point, how we integrated our bot into existing automation and in turn enabling everyone on our team. Building a chatbot is an iterative process that grows along with a team or a product. At the end I will do a quick demo that shows how easy it can be to get started.
The shift towards the Microservices architectures and heterogeneous data sources has made enterprise integration systems both more important and more challenging. Traditional ESB systems are often inadequate while iPaaS offerings are still immature.
Modern systems often handle many real-time operations and events involving synchronization, error handling, long-running tasks, and other concerns. The logic around these interactions can get complex and we need tools to help manage that. Reactive programming is one such tool. It reframes problems into asynchronous data streams that can transformed, combined, and filtered using functional operations. User interactions, database queries, variables, etc. are all representable as streams. This talk will introduce Reactive programming concepts and how it applies to GUI programs, APIs, and other areas.
Java 9 is scheduled for release in July 2017, and will contain the long-awaited module system (Project Jigsaw). For Java developers, modularity is a new dimension which has profound implications on packaging and deployment of software. For example, “public” can have nuance beyond “wide-open”. The venerable classpath receives a new, stronger teammate: the modulepath. And JDK 9 itself is modularized, with changes to runtime organization (so long, “rt.jar” !). In this talk, we’ll examine the primary themes of modules, the consequences for pre-Java9 code (it’s good news), new distribution options, and the ramifications for busy Java developers like you and me.
Our industry harbours a dark secret that we usually discuss in hushed whispers over fermented beverages: Hardware, software, networks, and users are a toxic combination. Individually, in test labs, they hold the promise of angels. Put any two, three, or four of them together for any length of time and the road to hell is paved with cries of “It was working 5 minutes ago” and “Can’t reproduce, won’t fix.” You make a pile of assumptions when you slap a Works On My Machine™ sticker on your new feature. Is the user running the latest version of the OS? Are they on a slow network connection? Or any network connection?
For most of my development career, the times I tried to be “clever” and build sophisticated structures with design patterns and metaprogramming tended to backfire on me and only made things more complicated and difficult. Recently, however, I worked on a project where, with proper use of some of Ruby’s powerful metaprogramming tools, I was able to turn a potentially messy codebase into what looks more like a collection of haiku. While many examples of fancier programming techniques use simplistic examples that often have no relation to the real world, this talk will show real code from a complex live application, and will explain why and how I was able
Somewhere, someone on the internet is saying “Messaging will solve all of your system’s problems”. They might be right. But for all you know, they could be wrong too. I could take the time in this talk to introduce you to basic messaging patterns. That doesn’t address the bigger issues that most people who are getting started with messaging. Why should you care about messaging? What technical or business problem will it solve for you? How can you get started? When you leave this session you will be the person who can stand up in the meeting and declare “Messaging will solve this for us….I think” to the bewilderment of
Particular Software is a remote workplace. We don’t have “some” remote workers. Every single person in the company is a remote worker. There is no office. There is no water cooler. There is no carpool. Those things are “simple” differences between our work environment and a more traditional one. What about the more nuanced aspects of being part of a fully remote company and/or team? How do we deal with meetings? What about team level collaboration? These are things that many organizations struggle with when they’re co-located. This session will talk about what Particular does as an organization to deal with these things as well as some of the things
As part of the first Fredericton Edition of MaritimeDevCon there was a panel discussion about the future of Computer Science education at UNB. The session attempted to gather the developer community’s input as the Faculty of Computer Science reconsidered it’s choice of electives. Four years have passed, and changes have occurred. This talk highlights the direction of these changes, including new elective courses with details as well as the efforts of CS Square, a flexible mechanism for equipping students with extra-curricular instruction and entrepreneurial exposure.
Ever wanted to have the opportunity to impact a global platform? This is only the beginning when becoming a Microsoft MVP. Do you find yourself involved in community engagement in the technologies you work in? This discussion will lead you through the Microsoft MVP program and what it takes to start being a leader in the technologies you work with.
Everyone uses open source to build software products today. Not everyone considers the licensing implications of choosing to depend on a library. This talk discusses some real world experiences dealing with open source licenses and dealing with lawyers. Lawyers may seem unreasonable to deal with but it is all about managing risk. Many large companies may have restrictive policies all to manage risk. Topics covered include dynamic vs static linking, issues with the GPL, distributing open source, patent grants. Some specific examples are discussed are challenges with licensing go-lang open source projects and the facebook patent grant issue.
Technical skills are paramount for a successful career in software development but a host of other behaviours and so-called “soft skills” are critically important for a long and rewarding career path. Join Derek for a discussion about managing your career based on experiences, observations, and the insights of other software professionals.
Is your company growing rapidly, creating great management opportunities? Have you ever wondered how to demonstrate leadership, progress to the next stage of your career? How about attracting, retaining and growing your team at breakneck pace? Brian will share lessons learned from being a manager, CEO and now General Manager of Cvent Canada. Management isn’t fancy management theories written in the 60s or about controlling people. It’s not about policing HR guidelines. It’s about listening, transparency and above all being human.