CodeMash V2.0.1.2

January 11-13, 2012 Sandusky, Ohio
Stay
Connected

Sessions - Technology: Other Languages

:- should_learn(Prolog, You).
A Few of My Favorite (Python) Things
Automated Python Test Frameworks for Hardware Validation and Verification
Building Testable Applications in PHP
CANCELLED: ClojureScript: One () to rule them all
Concurrency in Python
Erlang: An Intro for C# Developers
Once Upon a Time in Clojureland - Learning Clojure with a Fairy Tale
PHP with Windows Azure
Polyglot Programming: The Power of Hybridization

:- should_learn(Prolog, You).
Technology/Platform: Other Languages
Difficulty Level: Beginner
Start Time: Thursday January 12, 2012 @ 1:45 PM
Location: Salon E

Abstract: Prolog is not like any other language you are likely to come across. It is a logic driven, declarative language that has been around since the 70s. It is not OOP nor purely functional, and though it has influenced many languages it never really got popular outside of Japan. That's the bad news and most people stop here. However, the good news is that Prolog allows you to attack certain problems in an elegant and succinct way. Prolog and Prolog-like languages have found use in a variety of AI, scheduling systems, and the semantic web. This presentation is directed at novice Prolog programmers and people who may have never seen prolog. Prolog has very little syntax (more than Fourth, less than Ruby) and so that part is easy (you'll get a handout). The hard part of Prolog is that it's so different. We will cover the basics of Prolog and work our way up to a simple expert system. We will also cover how to use Prolog to consume and provide web services using the LGPL'd SWI Prolog.

Presented By: Joshua Smith

About the Speaker: Josh is a developer for American Greetings Interactive. He has 15 years of professional IT experience and has been a sysadmin (and still kinda is), programmer in various languages, consultant, employee and guy who makes sure the pop machine is full. He lives and works in Ohio with his wife and two children and tries to use his powers for good.

Top
A Few of My Favorite (Python) Things
Technology/Platform: Other Languages
Difficulty Level: Beginner
Start Time: Friday January 13, 2012 @ 1:45 PM
Location: Salon D

Abstract: Python's "batteries included" philosophy means that it comes with an astonishing amount of great stuff. On top of that, there's a vibrant world of third-party libraries that help make Python even more wonderful. We'll go on a breezy, example-filled tour through some of my favorites, from treasures in the standard library to great third-party packages that I don't think I could live without, and we'll touch on some of the fuzzier aspects of the Python culture that make it such a joy to be part of.

Presented By: Mike Pirnat

About the Speaker: A Python nerd of 11 years and active in web development for over 15, Mike works at online greeting leader AG Interactive, where he serves as a wandering samurai, doer of deeds, righter of wrongs, integrator of systems, wrangler of code, bearer of standards, seeker of truth, advocate of excellence, educator, mentor, craftsman, and catalyst. He likes a nice glass of wine and long walks on the beach--unless there are lots of rocks, which hurt to step on.

Top
Automated Python Test Frameworks for Hardware Validation and Verification
Technology/Platform: Other Languages
Difficulty Level: Intermediate
Start Time: Friday January 13, 2012 @ 3:35 PM
Location: Indigo Bay

Abstract: When validating a piece of hardware instead of a piece of software, mocking and unit tests don’t help. Instead, a test framework needs to be primarily geared toward external instrument control, automated data collection, and mathematical analysis. Using Python, we’ll demonstrate an easy to use framework containing tests that configure DMMs and function generators, gather data from devices under test, then perform FFTs, phase analysis, and other data processing. We’ll also talk about a few issues that become much more significant in hardware analysis, such as adding randomness to tests while preserving repeatability, and generating highly combinatorial, device-specific tests on the fly. Finally, we’ll show the framework in action with a live test of a switch/measure system. Ben Fitzpatrick will be acting as demo minion and hardware wrangler.

Presented By: Barbara Jones

About the Speaker: Barbara Jones is a software engineer in the test & measurement industry, developing instrument drivers, tests, and data acquisition software in C++ and Python. She has been committed to promoting diversity in technical communities since she joined the CWRU section of the Society of Women Engineers. If she claims to be the inspiration for Mattel’s Computer Engineer Barbie, she’s lying... her degree is in Computer Science.

Top
Building Testable Applications in PHP
Technology/Platform: Other Languages
Difficulty Level: Advanced
Start Time: Thursday January 12, 2012 @ 3:35 PM
Location: Indigo Bay

Abstract: I think it's safe to say that at this point, having SOME sort of automated testing for your application is considered a best practice. Unfortunately, creating a testable application is like having 6-pack abdominal muscles: everyone wants them but few are willing to put in the hard work to make it happen. This talk will approach the idea of Test-Driven Development / Behaviour-Driven Development from a different angle, instead taking a look at strategies for structuring your application is such a way that continuous integration and delivery of your application is not only possible but easily achievable. We will start by looking at anti-features of an application: ways of building things that make them very difficult to test. From there we will progress onto things like Demeter's Law, dependency injection and how to create the complementary infrastructure to test your application. Finally we will focus on building your confidence level with respect to flawless deploys from "all hands on deck, we're deploying" to "that's the 12th change we pushed into production today".

Presented By: Chris Hartjes

About the Speaker: Chris Hartjes has been building web applications of all shapes and sizes since 1998, ranging from catalogs for CD compilations for professional DJ’s to large-scale dating web sites. Currently working for Moontoast helping them build out their social commerce platform. He lives in Milton, Ontario, Canada with his long-suffering wife, two daughters, a furry pig masquerading as a cat, and the reincarnation of the Roman god of the underworld in feline form.

Top
CANCELLED: ClojureScript: One () to rule them all
Technology/Platform: Other Languages
Difficulty Level: Intermediate
Start Time: Friday January 13, 2012 @ 10:45 AM
Location: Salon E

Abstract: ClojureScript has changed the game for JavaScript developers. It's not a small step forward, It's a rocket ship to another dimension. If you're writing JavaScript heavy applications, you owe it to yourself to peek into it's inevitable future. Join Clojure/core's Aaron Bedra as he steps through the ideas behind ClojureScript and demonstrates how to start using it on your applications. Aaron will build a basic web service, then move on to building the front end without ever leaving the Clojure language. You'll watch in amazement as you begin to ponder such things as "why did I ever bother with JSON", and "wow, I didn't realize how much I lost while switching programming contexts". You will walk away from this talk armed with the things you need to get started writing your own ClojureScript code. Warning, side effects may include euphoria and unexplained oubursts of joy.

Presented By: Aaron Bedra

About the Speaker: Aaron Bedra is a member of Clojure/core and a developer at Relevance, Inc. where he spends his time as a tech lead, speaker and author. He is a frequent contributor to the Clojure language and its supporting libraries as well as an active member of the Clojure community. Aaron is the co-author of Programming Clojure, 2nd Edition

Top
Concurrency in Python
Technology/Platform: Other Languages
Difficulty Level: Intermediate
Start Time: Friday January 13, 2012 @ 3:35 PM
Location: Salon H

Abstract: This talk is about global interpreter locks, CPU bound threads, thrashing, scaling to multiple boxes, and generally having fun handling millions of requests. We will talk about everything from why you might want a threaded server and when you need async. I'll briefly introduce the threading module, the multiprocessing module, the queue module, gevent, zmq, and talk about how we use *all* of this stuff to manage thousands of activities a second.

Presented By: Mark Ramm

About the Speaker: Mark Ramm has been solving problems with Python for over a decade, and has been hacking on python web libraries and frameworks for much of that time. Right now, he's working to try to help SourceForge.net recapture it's mojo. In his free time he's written books, magazine articles, a bunch of code, and a quite few tweets.  

Top
Erlang: An Intro for C# Developers
Technology/Platform: Other Languages
Difficulty Level: Intermediate
Start Time: Friday January 13, 2012 @ 3:35 PM
Location: Salon E

Abstract: Would you like to build massively parallel, distributed, fault-tolerant, cross-platform, easily maintainable systems with less code and look cool doing it? If so, the opensource programming language Erlang has some real sweet spots for you. If you're unfamiliar with Erlang you may be surprised to learn how battle tested it is: Facebook's chat backend, CouchDB, RabbitMQ, GitHub's backend and Amazon's SimpleDB are all written in Erlang, and every phone call you make is likely helped along by some Erlang somewhere. So how does a functional programming language with Prolog and telecom roots solve so many of the big problems that Enterprisey languages famously stink at? What's so darn special about Erlang? What are the pieces and the tools? What does it look like? How do I (as a C# developer) even get started with Erlang?

Presented By: Bryan Hunter

About the Speaker: Bryan Hunter is a geek, a founding partner of Firefly Logic and the president of the Nashville .NET User Group. Bryan is obsessed with Lean, functional programming (Erlang, C# and F#), CQRS and Caliburn.Micro. He has been speaking on each of these subjects tirelessly for years at meetups, bars, user groups, bars, regional conferences and bars. You can say hi to Bryan on Twitter (@bryan_hunter), read his blog at http://codeswamp.com, and see what Firefly Logic is all about here: http://fireflylogic.com

Top
Once Upon a Time in Clojureland - Learning Clojure with a Fairy Tale
Technology/Platform: Other Languages
Difficulty Level: Beginner
Start Time: Thursday January 12, 2012 @ 11:00 AM
Location: Aloeswood / Leopardwood

Abstract: Clojure is a powerful, elegant, and dynamic programming language on the JVM. This presentation will be a gentle introduction to the language with code examples presented in a fairy tale format. Join Princess Chloe in the kingdom of Clojureland and help her fight an evil wizard and an infinite headed hydra while learning an introduction to Functional Programming and the basics of the Clojure language along the way.

Presented By: Carin Meier

About the Speaker: Carin started off as a professional ballet dancer, studied Physics in college, and has been developing software for both the enterprise and entrepreneur for the past 15 years. She comes from a solid Java background, but has discovered a passion for the power and elegance the dynamic languages of Ruby and Clojure. When left to daydream, she thinks about the dynamics of flocks of birds, what the giant squids might really be doing down there in the deep, and maybe opening a first-rate cheese shop one day.

Top
PHP with Windows Azure
Technology/Platform: Other Languages
Difficulty Level: Beginner
Start Time: Thursday January 12, 2012 @ 4:50 PM
Location: Salon A

Abstract: Open Source and Microsoft have never been the best of companions. But with the Windows Azure platform, Microsoft set out to support and promote interoperability. This session will take a tour around one of the most robust third-party language libraries - the Windows Azure SDK for PHP. I will describe the SDK’s features; and demonstrate how to create and deploy a web site to the cloud using familiar PHP tools and concepts.

Presented By: Brent Stineman

About the Speaker: Brent has a passion, a passion for 'the cloud'. Nothing has captured the imaginations of IT as much as the potential of this brave new frontier. For the last three years, this passion has been focused on the Windows Azure platform, sharing his excitement, experience, and first-hand knowledge with anyone that wants to listen. Brent was recognized in 2010 as an inaugural Microsoft MVP (Most Valuable Professional) for the Windows Azure Platform.

Top
Polyglot Programming: The Power of Hybridization
Technology/Platform: Other Languages
Difficulty Level: Intermediate
Start Time: Friday January 13, 2012 @ 9:30 AM
Location: Salon E

Abstract: Programming languages always seem to do some things well but not others: Python punts when it comes to user interfaces, Java’s artificial complexity prevents rapid development and produces tangles, and it will be awhile before we see benefits from C++ concurrency work. The cognitive load of languages and their blind spots increases the cost of experimentation, impeding your ability to fail fast and iterate. If you use a single language to solve your problem, you are binding yourself to the worldview limitations and the mistakes made by the creator of that language. Consider increasing your wiggle room by crossing language boundaries, complementing a language that is powerful in one area with a different language powerful in another. Language hybridization can speed development to quickly discover your real problems, giving you more time to fix them. After making a case for hybridizing your thinking in general, I will present a number of simple examples; first showing the benefits of using other languages with multiprocessing in Python and Actors in Scala, then hybridization creating a Go language JSON-RPC server and a Python client, and finally a Python web server with a web client using CoffeeScript, jQuery and Ajax. All examples are kept small so that the syntax of each new language can be explained.

Presented By: Bruce Eckel

About the Speaker: Bruce Eckel (www.BruceEckel.com) is the author of Thinking in Java (Prentice-Hall, 1998, 2nd Edition, 2000, 3rd Edition, 2003, 4th Edition, 2006), Thinking in C++ (PH 1995; 2nd edition 2000, Volume 2 with Chuck Allison, 2003), C++ Inside & Out (Osborne/McGraw-Hill 1993), and First Steps in Flex (with James Ward, 2008) among others. He's given hundreds of presentations throughout the world, published over 150 articles in numerous magazines, was a founding member of the ANSI/ISO C++ committee and speaks regularly at conferences. He provides public and private training and consulting in programming languages and software system design.

Top

Session Schedule

CodeMash 2012 Schedule!

Sponsor Info

Become a Sponsor in 2012

Sponsors

Adamantium

  • DevExpress
  • Telerik
  • EngineYard
  • JetBrains
  • Compuware
  • Microsoft
  • Platinum

    Quick Solutions
  • Platinum

    Improving Enterprises
  • Platinum

    ComponentOne
  • Platinum

    Pillar
  • Platinum

    SRT Solutions
  • Platinum

    Perficient
  • Platinum

    IBS
  • Platinum

    Aspect
  • Platinum

    NimblePros
  • Platinum

    Manta
  • Platinum

    New World Systems
  • Platinum

    CallCopy
  • Platinum

    Juniper
  • Gold

    Information Control Corporation
  • Gold

    Briteskies
  • Gold

    LeadingEDJE
  • Gold

    Stout Systems
  • Gold

    Robert Half International
  • Gold

    HMB Information System Developers
  • Gold

    Inedo
  • Gold

    Change Vision
  • Gold

    Centric Consulting
  • Gold

    Sogeti
  • Gold

    Gibraltar Software
  • Gold

    Manifest Solutions
  • Gold

    ComResource
  • Gold

    A2Z Development Center
  • Gold

    Experis
  • Gold

    Tek Systems
  • Gold

    Grape City
  • Gold

    O'Reilly Media
  • Gold

    AgileThought
  • Gold

    VersionOne
  • Gold

    TechSmith
  • Gold

    Custom Business Solutions
  • Gold

    PreEmptive Solutions
  • Gold

    Pearson
  • Gold

    SmartIT
  • Gold

    Twilio
  • Silver

    Discount ASP.NET
  • Silver

    Cardinal Solutions
  • Media Partner

    Deep Fried Bytes
  • Service Provider

    SharpAxe Training
  • Individual Consultant

    Validus
  • Individual Consultant

    Element 34
  • Individual Consultant

    Arana Software
  • Individual Consultant

    Chikli Consulting
  • Individual Consultant

    Judd Solutions
  • Individual Consultant

    Artek Software
  • Individual Consultant

    Vine Branches
  • Individual Consultant

    Cleveland Tech Consulting, LLC
  • Individual Consultant

    Un-identified
  • Individual Consultant

    densitypop