Xamarin Forms – Jumpstart Your App With Autofac

I love dependency injection frameworks ever since I started using them. Specifically, I'm obsessed with using Autofac and I have a hard time developing applications unless I can use a solid DI framework like Autofac! I've recently been working with Xamarin and found that I wanted to use dependency injection, but some of the framework doesn't support this well out of the box. I' was adamant to get something going though, so I wanted to show you my way to make this work. Disclaimer: In its current state, this is certainly a bit of a hack. I'll explain why I've taken this approach though! In your Android projects for Xamarin, any class that inherits from Activity is responsible for being created by the framework. This means where we'd usually have the luxury of passing in dependencies via a constructor and…

2 Comments

TODO Lists: Keeping focused when you feel lost

It's more relevant for more people now than it probably has been in other times in their professional careers, but COVID-19 means remote work for a lot of people. It also means no work for a lot of people too. I've found that a simple tool for me to keep focused is leveraging a TODO list. It's so simple that I think people often overlook the power of a TODO list when you're feeling like you're a bit lost or not making progress. With your TODO list, the first thing I'd suggest is thinking about a daily routine. Now that you're working remote, or in the unfortunate case out of work, I think it's really important that you keep some sort of daily routine to help give you some guard rails. Think about what things you usually do in the…

0 Comments

Downtime? Time to Build!

The COVID-19 pandemic has caused many of us to stay isolated and at home, but that's OK! I genuinely enjoy developing software and wanted to take this opportunity to focus on learning. Having some downtime has afforded me to try putting together a system that I otherwise might not have explored building. In this article, I'll share different aspects about an application I'm building that purposefully put me outside of my comfort zone. In my opinion, having downtime is an opportunity to learn and grow! It's time to take advantage of that. When the app and system is ready to showcase I'll share more insight into what's actually being built! The Client Framework The application being built was intended to run on multiple mobile platforms, so Xamarin was my choice here. I have briefly used Xamarin several years ago, but…

0 Comments

Firebase and Low-Effort User Management

I've found myself with some additional time to be creative during the great COVID-19 and lockdown/quarantine days. That's why there's more blog posts recently! Actually, I wanted to take the time to experiment with some unfamiliar technologies and build something. For a project, I wanted to leverage authentication but I'm well aware that user management can become a really complex undertaking. I had heard about Firebase from Google and wanted to give it a shot. For the purposes of this discussion, Firebase would allow me to create something like an OAuth proxy to the system I wanted to build, and by doing so, would end up managing all of the users for me. What I needed to do with Firebase to get that setup was actually quite straight forward. First, you start off in typical fashion registering for Firebase. From…

0 Comments

CircleCI + BitBucket => Free Continuous Integration!

CircleCI is a service that I heard about from a friend that allows you to get continuous integration pipelines built up for your repositories... And it does it quick and easy. Also, free if you're someone like me and you don't have a large demand for getting builds done! I wanted to write about my experience with getting CircleCI wired up with BitBucket, which I like to use for my project hosting, and hopefully it'll help you get started. First thing, signing up is super easy if you have BitBucket because you can oauth right away with it. CircleCI will show you your projects & repositories that you have in BitBucket and you can decide which one you'd like to get started with. You can navigate to the projects in their new UI from the "Add Projects" menu. When you…

0 Comments

xUnit Tests Not Running With .NET Standard

Having worked with C# for quite some time now writing desktop applications, I've begun making the transition over to .NET standard. In my professional working experience, it was a much slower transition because of product requirements and time, but in my own personal development there's no reason why I couldn't get started with it. And call me crazy, but I enjoy writing coded tests for the things I make. My favourite testing framework for my C# development is xUnit, and naturally as I started writing some new code with .NET Standard I wanted to make sure I could get my tests to run. Here's an example of some C# code I wrote for my unit tests of a simple LRU cache class I was playing around with: [ExcludeFromCodeCoverage] public sealed class LruCachetests { [Fact] public void Constructor_CapacityTooSmall_ThrowsArgumentException() { Assert.Throws<ArgumentException>(() =>…

0 Comments

RPG Development Progress Pulse – Entry 2

Progress Pulse - Entry 2 Things have been pretty busy in real life the past couple of weeks, so I haven't had too much time for working on this. However, for this entry in the progress pulse series I'll talk about some of the challenges I had while looking at making a generic data (de)serialization API + implementation, and why I chose to make some of the decisions I did! Which Tech To Pick? I've felt burned in the past by trying to do data serialization for my game framework because it's always created a barrier for refactoring once it's in place (i.e. i change some data i need and now i have to re-make or migrate allllll my SQL data). So I was thinking about how I plan to store game state, which I have written about, and then…

0 Comments

Autofac Modules and Code Organization

What are Autofac Modules? I've been writing a little bit about Autofac and why it's rad, but today I want to talk about Autofac modules. In my previous post on this, I talk about one of drawbacks to the constructor dependency pattern is that at some point in your application, generally in the entry point, you get allllll of this spaghetti code that is the setup for your code base. Essentially, we've balanced having nice clean testable classes with having a really messy spot in the code. But it's only ONE spot and the rest of your code is nice. So it's a decent trade off. But we can do better than that, can't we? Autofac modules! We can use Autofac modules to organize some of the code that we have in our entry point into logical groupings. So an…

2 Comments

RPG Development Progress Pulse – Entry 1

Progress Pulse - Entry 1 For the first entry in the progress pulse series I'll touch on some things from the past week or so. There's been a lot of smaller things being churned in the code base, some of them interesting, and others less interesting so I want to highlight a few. As a side note, it's really cool to see that the layout and architecture is allowing for features to be added pretty easily, so I'll dive a bit deeper on that. Overall, I'm pretty happy with how things are going. Unity3D - Don't Fight It! I heard from a colleague before that Unity3D does some things you might not like, but don't try to fight it, just go with it. To me, that's a challenge. If I'm going to be spending time coding in something I want…

0 Comments

RPG Development Progress Pulse

Progress Pulse Series I figured this would be a fun thing to start to do just to get small updates out and talk about what I've been working on for ProjectXyz and my RPG I'm building in Unity3D. This will hopefully be some small updates on the order of semi to bi-weekly about what kinds of things are going on when I'm programming for these projects. This could include: How and why I decided to refactor something A new design practice I'm trying Reflecting on why a design decision has(n't) been working out A new feature that's interesting etc... Some of these will be technical and others much less. A bit of progress pulse allows me an outlet to talk about interesting things I'm doing and maybe sheds some light on some areas (game development or just general programming) that…

0 Comments

End of content

No more pages to load