Speaker Series

Atomic Admin Atomic Admin

SoftwareGR Presents Jonathan Snook: CSS is a Mess (VIDEO)

When: March 24, 2015

Jonathan writes about tips, tricks, and bookmarks on his blog at Snook.ca. He has also written for A List Apart, 24ways, and .net magazine, and has co-authored two books, The Art and Science of CSS and Accelerated DOM Scripting. He has also authored and received world-wide acclaim for the self-published book, Scalable and Modular Architecture for CSS, sharing his experience and best practices on CSS architecture. When not writing books and speaking at conferences, Snook works at Shopify.

Abstract:

CSS is easy? CSS is messy! And as a project grows, it only gets messier. You find yourself throwing !important at everything or fighting with long selectors just to get a style to overrule another. This session looks at a few quick tips to help bring things under control.

 

Read More
Atomic Admin Atomic Admin

SoftwareGR Presents: Michael Bernstein-Programs that Eat Programs

When: February 24, 2015

Michael Bernstein is obsessed. Not with anything in particular, just in general. He’s a Brooklyn, NYC-based software developer and amateur computer scientist who writes at michaelrbernste.in and tweets (too much) at @mrb_bk. He works at Code Climate, and he’s given talks on garbage collection and distributed systems in the past. He is very excited to hang and chat with everyone at Software GR

Michael says this about his presentation:

"I'm going to talk about "Programs That Eat Programs" - a talk in progress about interpreters, abstract interpretation, static analysis, and model checking."

Read More
Atomic Admin Atomic Admin

SoftwareGR Presents: Brian Antosh: Is your infrastructure working properly? (VIDEO)

When: January 27, 2015

Abstract: 

Proper monitoring is an essential part of making operations successful for data centers. There is critical power, critical cooling, and fire protection systems to run and protect servers, networking and storage devices and systems. When an issue or potential issue is occurring, it is imperative that you understand the monitoring systems you have in place and what everything means. There is a variety of sensors, communications methods, software applications and architectures to achieve best-in-class results. Brian will share his knowledge, experience and lessons learned with the infrastructure monitoring systems he has inherited, designed, installed and improved upon.

About Brian:

Brian has over 23 years experience in facilities and IT operations in the automotive, healthcare, chemical manufacturing and data center services industries. He offers a unique perspective having first come from a plant engineering & manufacturing facilities background early in his career and migrating to full-time data center and IT operations roles. He has spoken several times at AFCOM Data Center World for user sessions and tutorials on IT facilities maintenance, operations and capacity management.

Read More
Atomic Admin Atomic Admin

Software GR: Avleen Vig - Distributed teams & successful remote engineering (VIDEO)

Bio: Avleen is a Staff Operations Engineer at Etsy, where he spends much of his time growing the infrastructure for selling knitted gloves and cross-stitch periodic tables. Before joining Etsy he worked at several large tech companies, including EarthLink and Google, as well as a number of small successful startups.

Abstract: Over half of Etsy's Operations team are remote engineers, spread out between North America and Europe. Most individuals work from home, with little face time with other members of the team. This environment is growing more common as organizations look outside their local areas when hiring new staff, and potential employees leverage the current market to relocate out of major metropolitan areas.

Avleen will discuss the challenges faced by engineers, management and organizations, and ways to address the issues to successfully build remote teams.

Read More
Atomic Admin Atomic Admin

Software GR Presents Drew Colthorp: Practical Abstraction (VIDEO)

Practical Abstraction

Sustaining productivity in a software project requires more than clean syntax and efficient process. It requires clear ideas.

Well-abstracted software is flexible in ways its business domain can take advantage of. It enables a sustained, or even accelerated, development pace over the course of a project. Poorly abstracted software tends to calcify, with each new feature being more difficult to the add than the previous.

Unfortunately, there aren't many tools to directly guide effective abstraction. Refactoring and code smells are too code-centric. Processes such as Domain-Driven Development focus too narrowly on business domain modeling, which is important, but too focused.

In this talk, Drew will attempt to describe how many of the best developers already abstract in software projects. The goal is to provide a vocabulary and framework to facilitate effective discussions about abstraction decisions with colleagues and team members.

About Drew

As a project lead and senior developer at Atomic Object, I help customers with all phases of a project from user research, through design and architecture, to implementation and release. My approach to projects is to aim for an ideal balance between user needs, business goals, financial demands, and technical constraints.

I started at Atomic in 2006, after earning degrees in math and computer science, from Grand Valley. I graduated cum laude and was recognized as one of two outstanding computer science students in my graduating class. Since that time, I've been a part of over a dozen projects including web, mobile, desktop, and cloud.

Core to my development philosophy is the belief that a software codebase provides the most value when it is expressed in terms of a precise understanding of the business domain. This enables a product to change in response to evolving realities and scale in functionality beyond what was originally envisioned. In recent years, pursuing this ideal has led me to continually hone my approach to the practice of software abstraction and fueled my interest in programming language paradigms that provide more natural ways to express  intent.

Following these interests, I started Detroit Lambda Lounge in 2012 to focus on big ideas in software development – languages, paradigms, and perspectives that can provide new insight into how to develop software. In addition to DLL, I speak regularly at conferences and user groups.

Read More
Atomic Admin Atomic Admin

Software GR Presents Richard Minerich: Tools for Functional Data Science

Tools for Functional Data Science

Data science is full of hard problems, but the complex algorithms and mathematics rank among the least of these. Bad data abounds, and it's easy to make a small mistake that can ruin days or even weeks of work. In this talk you'll see how ideas and tools from functional programming save me time and effort, and how they might be helpful for you as well.

About Richard

Richard Minerich tirelessly leads Bayard Rock toward the application of cutting edge research to anti-money laundering and fraud while using typed functional programming whenever possible. As an F# MVP he's been running events, speaking, and writing for over six years. You can often find him at one of his events, the monthly NYC F# User Group and the yearly NYC F# Tutorials. He also helps run the NY Haskell Users Group.

Read More
Atomic Admin Atomic Admin

Software GR Presents Brett Hackleman: A Day in the Life of a Hardware Startup (VIDEO)

As Netscape co-founder and venture capitalist Marc Andreesen is fond of pointing out, “Software eats the world.” But in my experience, sometimes you still need a fork. That’s the premise behind Bad Elf, a hardware startup launched in 2010 to build innovative accessories for the iPad and iPhone in the aviation, marine, and GIS/survey markets. Bad Elf products bridge the gap between the physical world and your phone/tablet, feeding data into innovative apps that are delighting customers and disrupting markets.

In this talk, I’ll describe what a typical day in a hardware startup looks like, and present a high-level view of what it takes to bring a new hardware product to market. I’ll also provide some background on what it was like for our team to transition from delivering software services to building consumer electronics, with many lessons learned along the way. There are some obvious and not-so-obvious pros and cons to building software vs. hardware widgets.

Bio:

Brett Hackleman is the CTO and co-founder of Bad Elf. His background is in Computer Engineering, which provides a solid foundation for moving up and down the hardware/firmware/application stack as needed to bring new Bad Elf products to life. Brett is also a private pilot and outdoor enthusiast.

In his past life, Brett co-founded Band XI International, a software company that delivered solutions to the US Army, deployed a cellular-based GPS tracking system for motorcycles/trailers, and developed industrial control systems for a major construction equipment manufacturer. Prior to that he worked at IBM and started his career at Object Technology International.

Read More
Atomic Admin Atomic Admin

Software GR Open House: June 24, 6:00pm - 8:00pm

Instead of a speaker this month, we are having an open house on Tuesday night.  It will be a chance to network, relax, eat, drink and be merry.

It's also an opportunity to help build the software community in West Michigan.

We are in the process of pulling together our fall and winter speaker series plus we are beginning to organize GLSEC15.  We'd love to chat with you.  Any topics you would like us to cover next year?  Any speakers you would like us to pursue?

Swing on by Software GR on June 24 and let us know.

Looking forward to seeing you there.

 

Read More
Atomic Admin Atomic Admin

Software GR Presents Stefan Karpinski: Julia – a fast dynamic language for technical computing

Julia is a high-level, high-performance dynamic language for scientific computing. It has been gaining traction as a faster alternative to Matlab, R and NumPy and as a more productive alternative to C, C++ and Fortran. Julia is particularly relevant when both expressiveness and performance are paramount – in areas like machine learning, “big statistics”, linear algebra, bioinformatics, and image analysis.

As a programming language, Julia has some unusual features. It’s a fully dynamic language, yet rather than the “no talking about types” approach that many dynamic languages have adopted, Julia has an expressive type system, complete with parametric and dependent types. This is no accident – talking about types is unavoidable in technical computing. But types aren’t just used to describing the structure and layout of data in Julia – they are also essential for expressing behavior. Programs are organized around multiple dispatch – generic functions can be defined piecewise for various combinations of argument types. This allows the polymorphic behaviors rampant in mathematical code – arithmetic operators, numeric promotions, array indexing – to be expressed clearly, extensibly, and in a way that the compiler can reason about. Traditionally, this kind of flexibility and abstraction have come at the cost of performance. But by a combination of dynamic data-flow type inference (not Hindley-Milner!), and just-in-time code generation with aggressive specialization on runtime types, Julia’s compiler manages to generate efficient, low-level code despite all the abstraction. This talk will include lots of live coding to demonstrate concepts and provide on-the-spot examples to help answer questions.

About Stefan

Stefan Karpinski is one of the co-creators and core developers of the Julia language. He is an applied mathematician and data scientist by trade, having worked at Akamai, Citrix Online, and Etsy, but currently is employed as a researcher at MIT, focused on advancing Julia’s design, implementation, documentation, and community.

 

Read More
Atomic Admin Atomic Admin

Software GR Presents Dorothy Graham: Test Automation Patterns

Description

When implementing system-level test automation, many people encounter problems: where to start with automation, high maintenance costs for the automated tests, or unrealistic management expectations. The good news is that solutions to these problems exist and have been effectively used by many. A “pattern” is a general reusable solution to a commonly occurring problem. Patterns have been popular in software development for many years, but they are not commonly recognized in system level test automation. Dorothy Graham shares a collection of common problems (issues) and their solutions (patterns) which she is now developing as a wiki with Seretta Gamba. To help resolve typical issues, Dot gives you a brief guided tour of some patterns—from Maintainable Testware and Domain-Driven Testing to Fail Gracefully and Kill the Zombies. Dot helps you recognize test automation issues and shows you how to identify appropriate patterns to help solve them.

Bio

Dorothy Graham has been in software testing for 40 years, and is co-author of 4 books: Software Inspection, Software Test Automation, Foundations of Software Testing and Experiences of Test Automation. Dot was programme chair for the EuroSTAR conference in 1993 and 2009, and for ExpoQA in Madrid in 2014. She has been on the boards of conferences and publications in software testing, was a founder member of the ISEB Software Testing Board and was a member of the working party that developed the first ISTQB Foundation Syllabus. She was awarded the European Excellence Award in Software Testing in 1999 and the first ISTQB Excellence Award in 2012. She was born in Grand Rapids and is a graduate of Calvin College and Purdue University, where she met her British husband, Roger. They have been living in the UK for over 30 years, and have two children. Dot’s main hobby is choral and small-group singing.

 

Read More