Sign in

Cameron Presley

@thesoftwarementor.com
616 followers 305 following 208 posts

Software Engineer and Leadership Coach by day, burgeoning carpenter, boardgame, reader, and knitter by night. blog.thesoftwarementor.com

PostsRepliesMedia
Cameron Presley @thesoftwarementor.com · 23/01/2026
Less than a week away until I talk about #functionalprogramming at the Albuquerque.NET User Group. Hope to catch you there! www.meetup.com/albuquerque-...
meetup.com
Functional Programming Through Construction with Cameron Presley, Wed, Jan 28, 2026, 6:00 PM | Meetup
In the past five years, functional programming has increased dramatically in popularity which has lead to an explosion of resources in learning these concepts. But, between
010
Reposted by Cameron Presley
C# Advent @csadvent.christmas · 01/12/2025
Second #csadvent today from @thesoftwarementor.com: Reducing Bugs by Using the Model View Update Pattern - blog.thesoftwarementor.com/articles/202... #csharp #dotnet
blog.thesoftwarementor.com
Reducing Bugs by Using the Model View Update Pattern - The Software Mentor
Reducing Bugs by Using the Model View Update Pattern
031
Cameron Presley @thesoftwarementor.com · 01/12/2025
For this year's #csadvent, I wrote a post about how you can simplify business logic by using the Model View Update (The Elm Architecture) pattern using basic #functionalprogramming concepts like pure functions and composition. #csharp blog.thesoftwarementor.com/articles/202...
blog.thesoftwarementor.com
Reducing Bugs by Using the Model View Update Pattern - The Software Mentor
Reducing Bugs by Using the Model View Update Pattern
020
Cameron Presley @thesoftwarementor.com · 24/10/2025
Made it to Pittsburgh! I'm looking forward to Pittsburgh Tech Fest tomorrow where I'm giving a condensed version of "The Engineers Playbook: Starting a New Job". This is a great session for both leaders and those who are starting new roles.
040
Cameron Presley @thesoftwarementor.com · 18/10/2025
Learning about UX and UI Design at NoVA Code Camp with @johnathayde.com
Slide deck that has the text UX and Design for Devs with a subtitle of Elevating our Product Experience
040
Cameron Presley @thesoftwarementor.com · 18/10/2025
Made it to Reston for NoVA Code Camp! I'm looking forward to speaking about how you can learn the fundamentals of #functionalprogramming by solving a fun problem. If you're attending today, make sure to stop by the 9:30 session and say hi!
Slide deck with title of Learning FP Through Construction: First Principles
030
Cameron Presley @thesoftwarementor.com · 11/10/2025
All squared away for #ATLDEVCON! If you've recently started a job (or if you're a manager who's hiring people), come check out my session at 10am that goes over my approach for getting up to speed quickly on a new role!
Slide Deck displaying The Engineers Playbook: Starting a New Role written in white text on a salmon colored background
030
Cameron Presley @thesoftwarementor.com · 23/09/2025
For those not aware, I started volunteering with Scouting America (formerly Boy Scouts) and I having a blast leading our first grade Cub Scout den. I did some parent volunteering last work with the Kindergarten group and found it to be a lot more fun than I remember scouts being when I was a kid
100
Cameron Presley @thesoftwarementor.com · 10/09/2025
Came across this thoughtful post from @rubylang.bsky.social about Ruby Gem's (their package manager's approach) for identifying and dealing with supply chain security issues. It's always fascinating to see how other smart people tackle hard problems blog.rubygems.org/2025/08/25/r... #rubylang
blog.rubygems.org
How RubyGems.org Protects Our Community’s Critical OSS Infrastructure - RubyGems Blog
010
Reposted by Cameron Presley
Jérôme Laban @jlaban.bsky.social · 09/09/2025
VS 2026 Insider is available! Among many other changes, one not so obvious change in that release is the default to `.slnx` format, and the good news is that @platform.uno supports it out of the box! devblogs.microsoft.com/visualstudio... #dotnet
devblogs.microsoft.com
Visual Studio 2026 Insiders is here! - Visual Studio Blog
Visual Studio 2026 Insiders is here – and it marks one of the most ambitious steps forward we’ve taken with the IDE. This release brings AI woven directly into the developer workflow, performance impr...
096
Cameron Presley @thesoftwarementor.com · 04/09/2025
Finally got through a fun problem for the upcoming video (a new game mode) that had been tripping me up for a while. Stay tuned for a blog post about how to cancel async tasks in #node and #typescript
010
Cameron Presley @thesoftwarementor.com · 02/09/2025
In last week's #codealong, we built out a basic math game for my son, J. As you might have guessed, we got some feedback on the game and have some new features to implement. So how do we implement new functionality without taking on technical debt? youtu.be/6AiztXnhfS0 #typescript #codealong
youtu.be
Code Along: Building a Math Game - Part 2
YouTube video by Small Batch Solutions
010
Cameron Presley @thesoftwarementor.com · 27/08/2025
For this week, I'm trying something a bit different in the videos. It can be fun to show tips and tricks, but one thing I always appreciated was to see how other people think about problems. Interested? Check out the video below and let me know what you think! youtu.be/nbS5-_SONfo #typescript
youtube.com
Code Along: Building a Math Game - Part 1
YouTube video by Small Batch Solutions
000
Cameron Presley @thesoftwarementor.com · 20/08/2025
Do I know anyone who's a leader or a member of the Pittsburgh .NET User Group or JavaScript group? I'm going to be in the area for Pittsburgh Tech Fest in October and I'd love to present to a user group while I'm in town. #javascript #dotnet #typescript
000
Reposted by Cameron Presley
Louis Pilfold @lpil.uk · 18/08/2025
Anyone have a space in London that the Gleam London meetup can use? Would love somewhere we can have a few short presentations from folks
086
Cameron Presley @thesoftwarementor.com · 18/08/2025
What a cool game, you should check it out!
010
Reposted by Cameron Presley
Bree (half of Kit Rocha) @mostlybree.kitrocha.com · 18/08/2025
This worked for me in Chrome, BRILLIANT 15087/10
29633
Cameron Presley @thesoftwarementor.com · 14/08/2025
Slightly diminish a band: Ho-hum at the Dance
010
Cameron Presley @thesoftwarementor.com · 13/08/2025
Excited to see NoVA Code Camp coming back online. I already submitted some sessions, you should check them out! novacodecamp.org #cfp #techcfp
novacodecamp.org
Northern VA CodeCamp
A FREE community event for developers, by developers.
000
Cameron Presley @thesoftwarementor.com · 13/08/2025
When working in #typescript, I love using union types as a way to limit a type to a set of possible values. However, I find myself needing to iterate through those values. In this video, I'll show you how to make that happen using const arrays youtu.be/eqjVojlFwJs?...
youtu.be
Iterating Through Sum Types Using TypeScript
YouTube video by Small Batch Solutions
010
Cameron Presley @thesoftwarementor.com · 12/08/2025
Looks like the CFP for Atlanta Dev Con is up. I already submitted some sessions, hope to catch you there! www.atldevcon.com sessionize.com/atlanta-deve...
atldevcon.com
Atlanta Developers' Conference
Atlanta Developers' Conference
010
Reposted by Cameron Presley
Lore Link @lorelink.com · 12/08/2025
Good morning! It's Tuesday, August 12th. What's the last board game you played?
211
Cameron Presley @thesoftwarementor.com · 11/08/2025
While working on my Blackjack course I ran into an issue where some of my cards would be null. Given that I'm leveraging #fp techniques, how is it happening? In this post, we'll walk through the bug and how to use property based testing to check the fix blog.thesoftwarementor.com/articles/202...
blog.thesoftwarementor.com
Testing Non Deterministic Code - Debugging Shuffle with Property Based Testing - The Software Mentor
In this post, I'll show you how I found a bug in my implementation of shuffle using property based testing.
021
Cameron Presley @thesoftwarementor.com · 08/08/2025
A common concept in computing is the byte, a chunk of data is consisting of 8 bits (8 0s and 1s). But what if we had defined a byte to be 9 bits instead? I really enjoyed this write up from Pavel about what could have been. pavpanchekha.com/blog/9bit.html
pavpanchekha.com
We'd be Better Off with 9-bit Bytes
000
Reposted by Cameron Presley
Lore Link @lorelink.com · 06/08/2025
Hey, let's get some cool stuff on the timeline. Do you have art of your character, either from yourself or commissioned? Show it off here! Please remember to tag your artists (links allowed) if it was commissioned, and keep that AI "art" off of our timeline.
147
Reposted by Cameron Presley
sabine 🐫🦀 / "use ocaml"; @sabine.sh · 06/08/2025
guys do you know anyone in Poland in tech who runs meetups or other communities where they could promote FUN OCaml?
333
Cameron Presley @thesoftwarementor.com · 05/08/2025
TypeScript recently released v5.9 with some cool changes, however I found that these changes didn't play well with one of my most used tools (ts-node). This post walks you through the issue and options for going forward. blog.thesoftwarementor.com/articles/202... #typescript
blog.thesoftwarementor.com
Running Single File TypeScript in 5.9 with ts-node and tsx - The Software Mentor
In this post, I show you how to leverage ts-node with the TypeScript 5.9 and the changes to the tsconfig.json file
020
Cameron Presley @thesoftwarementor.com · 01/08/2025
Enjoying this conversation with Bob Fornal about how do you get started in automating and improved the quality of your code and pipelines without tackling everything all at once here at #CincyDeliver. So many good insights @leadingedje.com
000
Cameron Presley @thesoftwarementor.com · 30/07/2025
I'm looking forward to #CincyDeliver on Friday. It's a great event and I'm pumped to be speaking about #functionalprogramming concepts while we solve Mars Rover It's not too late to get tickets, so if you're going to be in Cincinnati, pop by and say hello! www.eventbrite.com/e/cincydeliv...
eventbrite.com
CincyDeliver 2025
Cincinnati's longest-running, non-profit, community event. Sessions focus on delivering value through quality software.
131
Cameron Presley @thesoftwarementor.com · 16/07/2025
I've been working in Node and TypeScript for years now and have never sat down to learn how to make your own tooling. For example, I'm a big fan of the gitignore npm package as it quickly scaffolds a gitignore file for your project (as simple as running gitignore node). (1/3)
110
Cameron Presley @thesoftwarementor.com · 10/07/2025
While working on a NPM package that's designed to be used globally, I discovered that "gin" is an alias for a PowerShell command (Get-ComputerInfo). Best way of handling conflicts like that is to update your "bin" command to include a namespace (so something like "smallbatch-gin")
000
Cameron Presley @thesoftwarementor.com · 10/07/2025
When I've worked with engineers in the past, I've found there's a preference for both video and written content. With that in mind, I'm following up the recent video with a blog post on setting up a #Node project with #TypeScript and #Jest configured. blog.thesoftwarementor.com/articles/202...
blog.thesoftwarementor.com
Creating a Node Project With TypeScript and Jest From Scratch - The Software Mentor
Creating a Node Project with TypeScript and Jest From Scratch
020
Cameron Presley @thesoftwarementor.com · 08/07/2025
Couple of changes since my last post 1. Uploaded my first video to YouTube! If you've ever wanted to create a basic node app from scratch, I'll walk you through from file new to a basic working example youtu.be/mphKoDUiZVg
youtu.be
Setting Up a Node Project with TypeScript
YouTube video by Cameron Presley
100
Cameron Presley @thesoftwarementor.com · 25/06/2025
Definitely one of the coolest venues I've ever presented at, thanks for inviting me out!
010
Reposted by Cameron Presley
Daniel Ward - daninacan @danielwarddev.bsky.social · 19/06/2025
Curious about #FunctionalProgramming? Join us next week as @thesoftwarementor.com shows how to make LINQ from scratch! #dotnet 🎤What: Level Up on Functional Programming By Rebuilding LINQ 👨‍🏫Who: Cameron Presley ⌚When: June 26 @ Noon CST 🌐Where: Zoom Signup: www.meetup.com/sadnug/event...
021
Cameron Presley @thesoftwarementor.com · 10/06/2025
Recently learned that JS has a way of marking something private by using the # symbol. Super helpful when dealing with private fields that you want to expose as public getter properties. blog.thesoftwarementor.com/articles/202...
blog.thesoftwarementor.com
Today I Learned - JavaScript Private Fields and Properties - The Software Mentor
TIL - JavaScript private fields and properties
000
Cameron Presley @thesoftwarementor.com · 01/06/2025
Pleasantly surprised to find that the Lake Norman area has a baseball team, The Harbor Hippos! www.harborhippos.com
A cartoonist hippo, smiling wearing dark sunglasses and a blue hat with a capital H on it
000
Cameron Presley @thesoftwarementor.com · 28/05/2025
Elm was an early inspiration for me on #functionalprogramming as I found its architecture to be an intuitive way to think about apps. In this post, I walk you through implementing your own version using #typescript and #node blog.thesoftwarementor.com/articles/202...
blog.thesoftwarementor.com
Simplifying Console Logic with the Model-View-Update - The Software Mentor
Implementing Model View Update in TypeScript
050
Cameron Presley @thesoftwarementor.com · 28/05/2025
Working on the Udemy course and I'm blown away by the great artwork that @reverentgeek.com did! It looks great and will absolutely help me stand out. If you dig his style, why not work with him on your project? He's awesome!
Set of playing cards with TypeScript TS on the back, an Ace of Spades and 10 of Hearts showing and a stack of black poker chips with a white lambda symbol on a green background
040
Cameron Presley @thesoftwarementor.com · 24/05/2025
This was a brand new talk for me and the CapArea group was terrific! If you've been interested in learning how to design code where bugs are less likely to occur, give it a watch and let me know what you think!
000
Cameron Presley @thesoftwarementor.com · 21/05/2025
Today has been a fun one! While working on the Udemy course, I decided to use the Model-View-Update pattern for the game loop and it worked out nicely! There are some parts to clean up, but it yielded easy to read/maintain code. Will need to noodle on it a bit more to get it in a blog post format.
020
Cameron Presley @thesoftwarementor.com · 21/05/2025
Oh cool! Just saw that v4 of zod (schema validation library for node) and there's a ton of performance improvements. zod.dev/v4 Love to see it!
zod.dev
Introducing Zod 4 | Zod
030
Cameron Presley @thesoftwarementor.com · 14/05/2025
Looking through the show notes for this week's @shutdownfullcast.bsky.social and goodness, can't wait to hear what wonderful winding path we're going to take to get here.
What do Interstellar, Little Giants, and Grave of the Fireflies have in common?
000
Cameron Presley @thesoftwarementor.com · 13/05/2025
Came across plainvanillaweb.com/index.html and found it to be an awesome explainer of basic web development! For example, I've always wondered how a component built in a framework got translated to HTML and this shows a good example.
plainvanillaweb.com
Plain Vanilla
An explainer for doing web development using only vanilla techniques.
000
Cameron Presley @thesoftwarementor.com · 12/05/2025
It looks like the Call for Papers for @momentumdevcon.com is open and I just got done submitting some sessions on #functionalprogramming! It's open until May 31st and I've heard great things about the event, you should absolutely submit! sessionize.com/momentum-2025/ #speakers #cfps
sessionize.com
Momentum 2025: Call for Speakers
Momentum Developer Conference is a one-day in person event in Cincinnati, Ohio that brings software developers together to sharpen skills, make connec...
021
Cameron Presley @thesoftwarementor.com · 09/05/2025
At @stirtrek.com last week, I announced that I was working on a new Udemy course (launching Summer 2025) where we build out a game of Blackjack using #functionalprogramming concepts. For those who learn through video courses, would you prefer an all-code approach? Or does having some slides work?
313
Cameron Presley @thesoftwarementor.com · 09/05/2025
I'm pretty excited to be speaking at #CincyDeliver2025! Come see my session "Learning Functional Programming Through Construction: First Principles" (www.cincydeliver.org/Sessions/Det...) on 8/1/2025. Get More Information or register at www.cincydeliver.org
cincydeliver.org
Details - Cincy Deliver
020
Cameron Presley @thesoftwarementor.com · 09/05/2025
I came across this post where a new hire, Steve, joined NeXT and grabbed an alias for steve@next.com, not realizing that maybe other people would confuse him for another Steve... A delightful read (and an audio clip from Jobs himself) blog.hayman.net/2025/05/06/f...
blog.hayman.net
From: Steve Jobs. "Great idea, thank you."
The one email I ever got from Steve Jobs, and it said …
000
Cameron Presley @thesoftwarementor.com · 05/05/2025
Another fun week lined up as I'm presenting at two user groups this week. On Tuesday, I'll be presenting at the Capital Area .NET User Group about how to prevent bugs by using better types to model domain concepts. If you're in the area, you can register at www.meetup.com/caparea-net/...
meetup.com
Preventing Bugs with Better Types - An Intro to Type Driven Design, Tue, May 6, 2025, 6:30 PM | Meetup
IN PERSON ONLY - speaker is virtual Have you ever shipped a logic error to production? What about writing code that allowed you to do something that violated business rule
111
Cameron Presley @thesoftwarementor.com · 03/05/2025
Successfully made it back from @stirtrek.com! A delightful event and glad that I was able to attend. Had a blast, but now time for some R&R
051