Author Archives: Joe Wirtley

October 24, 2018, 6PM: Lightning Talks

Instead of one presentation, this meeting will have several lightning talks.  A lightning talk is a brief presentation on a specific topic, generally lasting ten to fifteen minutes.   These are the scheduled topics and speakers:

  • Exploring Gitflow using Visual Studio 2017 and other toolsAllen May 
  • C# Back to the basics: Reference Types and Value TypesMarla Roach 
  • Microsoft Certifications 101Ryan Donahue 
  • Win-Win with Software Development InternsSteve Daum 

September 26, 2018, 6PM: JetBrains Rider Tips and Tricks: Getting more out of your development time – Chris Woodruff

Rider is a new cross-platform .NET IDE from JetBrains. In this talk we’re going to spend 50 minutes seeing how you can be productive and work efficiently using the keyboard, focusing on the task at hand and not being distracted by the environment. We’ll learn how to maximize the tool for your .NET and web development needs, as well as learn some hidden tips and tricks.

Bio: Chris Woodruff (or Woody as he is commonly known as) has a degree in Computer Science from Michigan State University’s College of Engineering. Woody has been developing and architecting software solutions for over 20 years and has worked in many different platforms and tools. He is a community leader, helping such events as GRDevNight, GRDevDay, West Michigan Day of .NET and CodeMash. He was also instrumental in bringing the popular Give Camp event to Western Michigan where technology professionals lend their time and development expertise to assist local non-profits. As a speaker and podcaster, Woody has spoken and discussed a variety of topics, including database design and open source. He has been a Microsoft MVP in Visual C#, Data Platform and SQL and was recognized in 2010 as one of the top 20 MVPs world-wide. Woody is a Developer Advocate for JetBrains and evangelizes .NET, .NET Core and JetBrains’ products in North America.

August 22, 2018, 6PM: Event-Driven Architectures – Mike Levy

REACTIVE is all the rage today with REACTIVE PROGRAMMING getting most of the attention. However, there is another “reactive”, introduced with the Reactive Manifesto, called REACTIVE SYSTEMS. In this presentation, Mike will introduce us to REACTIVE SYSTEMS and discuss why an Event-Driven Architecture has a place in today’s solutions.

Bio: Michael Levy is a Principal Software Engineer and team lead at 84.51, a subsidiary of Kroger. Mike has been delivering software solutions to clients, in a variety of industries, for over 25 years. He is an active participate in the software community and, through the years, has spoken on a variety of topics at multiple conferences and user groups. As you read this, Mike is probably in front of a computer practicing the ancient art of Sleeping with Your Eyes Open when he should be working on the presentation.

July 25, 2018, 6PM: Azure Functions in Action – Baskar Rao Dandlamudi

Server less architecture is a current buzz word and there are various offerings to choose from different cloud vendors. The talk will be focused on Azure Functions and the various integration options available as part of Azure Functions. A walk through of Functions will be conducted where participants can get overview to create their azure functions and understand the various integration options and diagnostic mechanism available to monitor the functions. Developers can choose their language of choice to create their own functions and take advantage of the features available from the platform.

Having a computer during the talk is optional. Presentation along with Github samples will be shared as part of the talk.

Bio: Baskar Rao Dandlamudi is a Senior .Net Consultant with over 10 plus years of work experience in enterprise software solutions design, development, implementation support and performance monitoring using Microsoft stack of technologies. His passion is to explore Cloud technologies and learn new improvements and share the same with community. Areas of interest include Azure, Kubernetes and NativeScript.

June 27, 2018, 6PM: Secure Applications, by Design – Craig Stuntz

There is a lot of good security advice in the world, but checklists like the OWASP Top 10 do not tell you how to design security into your application. Where should a developer even begin? You’ll leave this session with a process for building security in depth into your application architecture, using a human-centered user experience design, threat modeling, partitioning, defense in depth, and static analysis in continuous integration. Not yet another checklist, you’ll learn how to make security the foundation on which the rest of your application is built.

Bio: Craig Stuntz is a software engineer and a lifelong student of computer science, with specific interests in programming languages, type theory, compilers, and math. He is the Technical Director for Improving in Columbus, Ohio, and cofounded the Columbus branch of Papers We Love, a reading group for people interested in academic computer science research. In the past year he has presented talks at CodeMash, Dog Food Conference, Stir Trek, and many user groups. When not at work or playing with his kids, he is usually studying math or playing Irish traditional music on the tin whistle and wooden flute.

May 23, 2018, 6PM: Introduction to Functional Programming with F# – Chris Lomont

Functional programming languages often claim to be quicker for development, less error prone, and more easily maintained, so why don’t we all use them? The biggest reason is probably unfamiliarity, so this talk will use a popular functional programming language, F#, to illustrate the benefits of functional programming by comparing to a widely used OO/procedural language, C# (which is slowly itself absorbing functional pieces and concepts). At the end of the talk, you should be curious enough and have enough of the initial mental hurdles overcome that you can start playing with F#, possibly even replacing some of your current toolkit with it.

Presentation slides can be found here.

Bio: Dr. Chris Lomont (PhD math, triple BS in math, physics, computer science) has been writing software since 4th grade, doing it professionally for over 25 years. He has worked on a large range of projects, including video games for SEGA, quantum computing for AFRL, hardware and software security for clients including DHS, DoD, and Secret Service, image compression for NASA, CAD software, financial software, explosives modeling for DoD, reverse engineering for many clients, and much more. His off-work time is spent tinkering in his workshop making all sorts of items, ranging from chemical to electrical to software to experimental to artistic.

Currently he is interested in machine learning, scientific visualization, software and hardware security, financial and economic modeling, and software development practices. He is comfortable in many technologies, but prefers C#/F#/WPF/.NET for quick development, C/C++ and assembly for high performance, Mathematica for math/science/exploration, and Python for machine learning. He is comfortable in a range of hardware environments, including embedded work, desktop PC development, and high-performance computing.

Dr. Lomont is a Senior Principal Engineer at Logikos, Fort Wayne, using many of these skillsets to drive next generation software projects, from machine learning for IoT and cloud based analytics, to secure computing product needs, to advanced visualization, applying best-of-breed development practices to make software development more predictable, reliable, and cost-effective.

April 25, 2018, 6PM: UI Tests are Fun to Write (if you Write them Right) – Seth Petry-Johnson

Automated browser tests can be a nightmare to write and maintain. Unlike unit tests they’re tough to set up, slow to run, make permanent changes to data, and they’re incredibly brittle. Even a tiny CSS change can result in cascading failures!

You can’t ignore these issues, but you CAN design around them by adopting a few key patterns and techniques. Data creation helpers let you construct intricate data graphs in one line of code. Page Objects abstract away tedious browser automation code and make tests resilient to changes in HTML structure. Applied correctly, these patterns (and others) take away the pain and make UI tests a joy to create!

Bio:

Pointy-haired boss by day, coder by night

Seth spent 21 years as a professional developer/architect before finally turning in his daily commit rights for a Microsoft Project product key. He now spends his days as a pointy-haired boss leading a small product development team in the search for simple solutions to complex problems. He is passionate about clean architecture, testable systems, and bringing order to chaos. Seth lives in Columbus, OH and is an active participant in the Midwest developer community. He’ll write TPS reports when he has to, but still enjoys writing, reviewing, and talking about code.

March 28, 2018, 6PM: Building concurrent systems with Akka.NET – Joe Wirtley

Building concurrent systems is challenging. Code that is innocuous when run on a single thread can require a tangle of locking when running on multiple threads. One way to address this problem is leveraging the actor model. Akka.NET implements the actor model and is ideal for developing concurrent, scalable, and fault tolerant applications in .NET. In this session, you will see code to create actors, send messages to actors, and handle messages within actors. You will also learn about advanced capabilities of Akka.NET including routing, location transparency, persistence, and clustering. You will leave with ideas of how you might use Akka.NET in your own projects and resources to continue your exploration.

Bio: Joe Wirtley is an independent consultant with over thirty years of professional software development experience. He works with .NET development teams helping them create clean, well-designed code, which in turn produces higher quality web and desktop applications. He is an active member of the developer community in southwest Ohio and helps lead the Dayton .NET Developer Group. He has presented at many user groups and conferences including CodeMash, Code PaLOUsa, CodeStock, and Stir Trek. He is the author of the Generics in .NET screencast for O’Reilly. You can check out his site at http://WirtleyConsulting.com or follow him on Twitter: @JoeWirtley.

February 28, 2018, 6PM: Blockchain – Bitcoin, Ethereum, and the Future of Everything – David Shattuck

Bitcoin blinked into existence ex nihilo in 2009 and brought with it what may very well prove to be one of the most important creations of computer science in the last decade: the blockchain. This presentation offers a brief history of the blockchain, an overview of how the technology works, a demonstration of an Ethereum smart contract in action, a survey of interesting projects currently being built on blockchains, and wild speculation about what the future holds.

Files supporting the presentation can be found here.

Bio:
David Shattuck is a software developer at Smart Data Systems in Miamisburg, OH. He works primarily with whichever development stack happens to be required by the current client and/or project, though the Microsoft stack was his first love. He has been a cryptocurrency enthusiast since 2013 and speaks on the subject whenever the opportunity presents itself, and also often when it doesn’t. He is amazing at video games.


Special Thanks to our meeting sponsor: PSA Airlines

PSA Airlines

American Airlines, the world’s largest airline, is expanding its Technology Department in Dayton to support PSA Airlines, a wholly owned subsidiary which, since 2014, has tripled its size and continues to grow. We are currently building out a small, agile development team who are striving to become thought leaders in the organization around Azure, DevOps, business process automation and data/analytics. So this is a great opportunity to join a small local team that has the benefits of drawing from the vast resources of American Airlines. Come join us: https://jobs.aa.com, we’re hiring!

January 24, 2018, 6PM: Easy CQRS with ASP.NET Core & MediatR – Ryan Foote

Are your controller actions gigantic? Is your service layer bloated? Are testing and maintenance a nightmare? Need a scalable solution? The CQRS (Command Query Responsibility Segregation) development pattern can help address these issues. But implementing a distributed CQRS architecture can be intimidating. If not well designed, it can make your application exponentially more complex and difficult to maintain. So why not start simple? Using the popular .NET library, MediatR, it’s super easy to write simple, testable, scalable CQRS applications. In this session, we will explore CQRS and its core concepts while building a mind-blowingly simple ASP.NET Core application with MediatR. We will emphasize separation of concerns, dependency injection, code reuse, thin controllers, and unit testability. You will leave with knowledge and confidence to start using MediatR in your own projects.

Bio:
Ryan, first of his name. King of his household, his mancave and his backyard. Raiser of children, author of code, lover of patterns and injector of dependencies.