Code Craftsmanship Saturdays

Code Craftsmanship Saturdays

  • Code Craftsmanship Saturdays is a meetup group where people can learn and practice both new and old technologies in an informal environment.

  • People learn best when paired in groups where they can share different ideas, thoughts, and approaches to problems.

  • This group is heavily influenced from the Node School Organization, but is intended to be more generic in content.

  • This code retreat is about practice, not about delivering a product on a deadline.

  • We will follow the format of a code retreat but the meetups will only be 4 hours long.

  • Start now, try something new, get the fire back, the reason you started coding in the first place!


Rust Workshop

In this workshop we will explore the Rust Language which is a very powerful programming language that helps write both reliable and efficient software. Rust is gaining lots of traction and recently Microsoft has announced that they will start using Rust as a replacement to the C and C++ Programming languages for both the security benefits that come with a memory safe language such as Rust and because of the great tooling and developer ergonomics inherent in Rust.

Book Code

NoSQL Workshop

In this workshop, we take a look at NoSQL databases. NoSQL encompasses a wide variety of different database technologies that were developed in response to the demands presented in building modern applications in that developers are working with applications that create massive volumes of new, rapidly changing data types — structured, semi-structured, unstructured and polymorphic data. We will as always combine theory with application in the workshop. We will use MongoDB as our Document Database and will examine concepts in Data Modeling and do a brief comparison between NoSQL and SQL Databases.

Book Code

API Workshop

In this workshop we take a deep dive into API Development using Restful API Concepts. We explore Restful API Architecture Patterns and how to test an API using tools like Postman and Curl as well as talk about the elements of Rest as first explained by Dr. Roy Fielding in his dissertation. We will also look at API Security concepts mainly OAuth and OpenID but we will also discuss ideas such as 2 legged Auth and 3 legged Auth. We will also look at tools such as OpenAPI (Swagger) and RAML which are API Description languages for REST APIs. We will also briefly discuss GraphQL.

Book Code

Data Visualization Workshop

In this workshop we take a deep dive into data visualization concepts and d3.js. The intent for this workshop is to outline what data visualization is and how to use d3.js to create visualizations.

Book Code

Unix and Regular Expressions Workshop

In this workshop we take a deep dive into Unix Programming, Shell Scripting, and Regular Expressions. We will look at how to use Bash/Zsh, Sed, Awk and other Unix/Linux Tools and how to compose commands in unix and discuss the Unix Philosophy. We will also look at using programming languages such as node.js and golang to write command line applications.

Book Code

Golang Workshop

In this workshop we explore the Go Programming language. This workshop has a series of koans that you must complete. Essentially there is failing tests and you must figure out what is wrong with the code to fix the failing tests. You will learn about slices, maps, structs, testing and more in Golang in this workshop.

Book Code

Docker and Containers Workshop

In this workshop we take a deep dive into Docker and containers. The intent for this workshop is to outline what containers are, how they are used, and specifically look at using the docker cli. The workshop will go over the Dockerfile and docker-compose.yml script.

Book Code

Software Security Workshop

A workshop looking at Software security and specifically the OWASP top 10.

In this workshop we discuss many different concepts laid out in the OWASP Website

Book Code

Caching, Memoization, and Redis Workshop

This workshop looks at Caching and Memoization. In particular we will look at ways to implement caching/memoization in JavaScript. Along with caching we will look at local storage mechanisms that you can use in the browser. We will also look at server side caching in Node.js and will introduce Redis and some ways to cache using Redis.

Book Code

Continuous Integration Workshop

This workshop will go over Continuous Integration. Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing individuals/teams to detect problems early. We will go over concepts in Continuous Integrations as well as use several tools like Jenkins, Travis CI, and Circle CI.

Book Code

Single Sign On, SAML and OAuth Workshop

This workshop will go over SSO (Single Sign-On). SSO (Single Sign On) occurs when a user logs in to one Client and is then signed in to other Clients automatically, regardless of the platform, technology, or domain the user is using. We will go over some SSO Strategies like SAML (Security Assertion Markup Language) and OAuth2 (Open Authorization). We will also go over JWT (JSON Web Token) which is an authentication protocol. We will create a JWT and go over the 3 parts of a JWT (Header, Payload, Signature).

Code and Docs

SOLID Principles, Dry Concepts, YAGNI, and Pragmatic Programmer Workshop

A workshop going over concepts such as:

  • SOLID (single responsibility, open-closed, Liskov substitution, interface segregation and dependency inversion),

  • DRY (Don’t Repeat Yourself)

  • YAGNI (You ain’t gonna need it), and others.

  • Also concepts from the books Pragmatic Programmer and Clean Code


Software Testing Workshop

A workshop looking at Software Testing. In this workshop we will look at the following:

  • Unit Testing
  • Integration Testing
  • End to End Testing
  • Mocks, Stubs, and Spies
  • Behavior-Driven Development (BDD)
  • Test-Driven Development (TDD)
  • Property Based Testing

Book Code

If you like the workshops then please follow me on github my handle is jbelmont