My latest project was a split ergo mechanical keyboard. I wanted to share the design and inspiration for the build.
Latest Posts
How modern software creates a tragedy of the commons with your system memory—slowing down your computer one app at a time.
Recently I had a family friend ask if they should get a degree in computer science. I ended up sending him a write up of my thoughts, and figured they would be worth sharing.
Recently in Contentful's Discord channel, a user posted asking for help on how to implement structured data on their site. I wanted to share a couple of ways to do that with Contentful.
Link Lists are a collection of nodes connected in a linear ordering. In this post, we will cover the linked list data structure, along with its main properties and methods.
Learn how to avoid common A/B testing mistakes by focusing on data-driven hypotheses, single-variable tests, and high-impact areas. Unlock valuable insights to optimize your website performance.
This is an excerpt from a paper I wrote that analyzes different player factors and their effects on online chess tournament performance. After tracking players across several online tournaments, we are able to use regression analysis to determine which have a greater effect on tournament results.
Is your website costing you customers? A bad user experience can scare visitors away, damage your brand, and sink your SEO ranking. Fortunately, Optimizely offers two data-driven tools to turn things around: A/B Testing and Personalization. Both help you optimize your website, but they work in different ways.
Recently I did a Lunch & Learn presentation for my coworkers about I go about writing technical blog posts. It is a process I have come to enjoy, and wanted to share my writing workflow.
GraphQL federation is an API architecture that takes the best of both monolith APIs and microservices, providing a single endpoint for all your services.
That time has come where my Optimizely CMS and Commerce certifications are nearing expiration. That means its time to prep for the next round of exams. This time I wanted to try a new approach to prepping.
Optimizely Graph is here, and it's set to revolutionize the way we query our content. With its cutting-edge features, Graph opens up a world of possibilities for how your organization manages its content.
Discover the benefits of switching to a SaaS model with Optimizely’s newly launched SaaS Core CMS. From seamless maintenance to enhanced composability, explore how this transformative CMS platform can redefine the way you manage and deliver content. Whether you're considering going headless or looking for a robust yet easy-to-set-up CMS, delve into our insights from the latest Opticon reveal and see how SaaS Core compares to traditional PaaS solutions.
People don't usually associate development with the law, but I fell down a rabbit hole of legal issues that you may come across as a developer. I wanted to share what I found regarding the topic of code reuse.
I tested out Contentful's new AI Content Generator App. After experimenting with all the features, I wanted to share my thoughts.
With the App Framework, you can add new functionality to Contentful, customize the user interface, and automate workflows to improve your content creation process.
When a website changes its domain or URL structure, it is important to redirect the old URLs to the new ones. In this post, we will discuss the importance of redirects and options for handling them after a Contentful migration.
To optimize your use of Contentful, it's important to follow best practices when creating your content models. In this blog post, we will explore five best practices that will help you create a well-structured and easy-to-manage content model in Contentful.
In this blog post, we'll introduce you to Optimizely CMS, explain how it works, and explore the benefits of using it for your website.
This post is a follow up to a previous post about how to organize your GraphQL calls with fragments. The goal being to make a call to a Contentful multi reference field more concise.
A custom episerver widget might seem daunting, but it doesn't have to be. Build an icon picker property together with me and see how easy it is!
Review of the games from the second day of the 5th Jane Addams tournament in Chicago.
A recap of my first tournament back into competitive play. This post will be about the first day of a two day event.
2022 was a year of chess for me. I want to continue that into 2023, but in a more structured way. I figured the best way to start is with goals.
A brief introduction to my history with chess, as well as a bit of a preview of where I hope to go with this blog.
Following the merger of Optimizely and Episerver, we’ve written about how Optimizely stacks up against its competitors, what it unveiled at its latest big customer event, and more. But the best argument for the impact that Optimizely can have on brands looking to deliver great customer experiences is looking at Optimizely-powered websites themselves.
Continuing to streamline and evolve its many digital innovation products, Optimizely has made a major change to its cornerstone content management system (CMS), inviting customers to take a leap into the future.
There are many general questions that get asked over and over regarding Contentful. Since they keep getting asked, I figure the answers aren't the easiest to find online. This post is an effort to get those answers out there.
This post covers the queue data structure. We will go over what it is, when you should use it, its basic operations, and the implementation in C#.
I wanted to give a quick overview of how to implement stacks in C#. I will give some general info about them, then get into the actual code. This is part of my series on data structures examples
Gatsby is great at rendering images. To do this, you need to leverage the Gatsby Image Plugin. For most of the images on the site, that is no problem. For images in Rich Text, it's not so simple.
Lots of Contentful website examples contain models for everything you would expect from a website. Standard pages, articles, authors, SEO, images, content blocks, etc. However, there is one subtle aspect that can get tricky, CTAs.
Headless content management systems (CMS) allow digital content to be accessed and edited from anywhere without being tied to a website.
A client came to us needing a recommendation for a headless CMS to run multiple portal applications. With the requirement that we provide a headless option, and the knowledge that the editors love Episerver's features, it took us all of two seconds to come up with Episerver's Content Delivery API as a solution.
In this post, I wanted to show how to clean up your GraphQL calls with fragments. This will make for a cleaner, more reusable code base.
In this post, we will go over how we leverage Gatsby and Contentful to allow us to use dynamic content types across our site pages.
In this post, we will cover one of our favorite features in Contentful, the Images API. We will go over some of it's coolest features, and how we leveraged it to build a custom image gallery.
Content modeling can be a tricky thing. If done incorrectly, it can cause all kinds of headaches for editors. And trust me when I say going back to update the structure of your content after your project is live is worse. It's something you want to get right the first time. Check out this post for some instruction and content model examples.
A review and summary of Paul Krugman's Economics & Society Masterclass. Covering the first few lessons on incentives and economic concepts.
A repository of digital signatures for files shared online, hosted on Keybase Pages with PGP encryption to verify the source of documents.
The concept of signing applies to more than messaging. Even more to encryption itself. I wanted to give some examples of how you could start signing your work as a developer.
I have always been a big believer in digital privacy. I try to take extra steps to secure my personal data whenever necessary. I implemented a contact us form to allow users to encrypt their message they submit it on a site.
For this year's Episerver Ascend conference, I gave a talk on machine learning. I wanted to share some info about the talk. I Cover Episerver Machine Learning tools like Perform, Profile Store, Reach, and Insights. Also Microsoft ML tools.
PWAs (Progressive Web Apps) help improve a site's Reliability, Speed, and Engagement. At this year's Episerver Ascend, we went into detail about all the benefits of PWAs. And we walked through some tools and techniques for integrating them into your site.
Starting a journey to learn Algorithmic Game Theory, the crossover between Economics and Computer Science. Following Tim Roughgarden's lectures and documenting the learning process.
A NuGet package consisting of multiple TinyMCE templates for Episerver implementations. Provides default structure for rich text content with Bootstrap styling.
Since my last post about Episerver TinyMCE default templates, I have worked on several projects that could benefit from them. I decided to create a NuGet package of some generic templates that I think most projects could benefit from.
Have tons of Episerver content? Can't easily distinguish content types from eachother in the page tree? Here's how to leverage some episerver-provided icons that look great!
Episerver website running slow? Memory usage too high? Long warmup times? Need to restart your site often? Here's the different types of cache and how to leverage them to speed up your website in Azure or on Episerver DXC.
Are you having issues with your Episerver website? Experiencing bugs, slow development cycles, long deployment interruptions? Here's how to improve the reliability and confidence in your Episerver website with automated deployments via Azure DevOps.
At Nansen, creating editor documentation is part of our development process. I wanted to share how we implement our editor guides, and hoping to hear from others how they implement theirs.
It's no secret that security is vital all websites. If you use Azure Active Directory to login to organization infrastructure already, why not use it to secure your website? Here's how:
Episerver provides an amazing framework for transactional e-commerce websites, but that's not the only way you can use it. We created a mobile application for our client which allowed them to make in-person sales. Here is a bit about what we did and why.
A personal blog and project site built with Piranha CMS running on dotnet core, featuring RSS feeds, custom content types, and Progressive Web App capabilities.
In this post I will discuss how to change the size of the Episerver PropertyList modal in the editor view with CSS to improve the editor experience.
In this post, I will be describing how to add custom templates to your Episerver TinyMCE. Using templates can improve the content entry experience for your editors by minimizing the amount of editing that needs to be done.
In this post, I will be describing how to add a custom editor view in Episerver that will be used to render documentation. Our example will be pulling the documentation from Github.
Track user's behavior using Bluetooth beacons and Episerver Profile Store to bridge the gap between the online and in-store experience
A fun puzzle game that allows you to interact with photos in a whole new way. Send scrambled photo puzzles to friends and compete to solve them before the timer runs out.
An iPad application developed for individuals with disabilities, providing an Augmentative and Alternative Communication (PECS/AAC) system with customizable pictures and audio.