Writing technical posts is a rather timely process and in order to fulfill my goal of more blogging I decided to keep a less technical flow of posts each week about what is going on during the week. It also helps keep a general log of activities because sometimes one feels like they didn't do much but in reality it was a full week. The idea came from @leekelleher. I expect the weekly notes to lead me to other technical posts time permitting. This series will start week 2, 2020 and client/project names will be kept anonymous for obvious reasons. On a purely personal note, we have an almost 8 month old baby at home at the time of this post so that's why my time is rather limited with this blogging endeavor.
I developed a business application (mobile and backend) for restaurant industry clientele based on Flutter and .NET and part of this process was determining how best to deploy those applications to the devices in the field. Many EMM solutions support this via application configs and I spent a lot of time testing and reviewing these solutions along with how to do it in Flutter (no direct examples online until now). You have no idea how many times I factory reset and enrolled a device.
If you didn't notice I wrote a blog post about the EMM enabled application configs can be accessed in flutter. My goal is to create a plugin when there is more time.
We are decommissioning an old system that was built over twelve years ago. Yep, you read that right, it was an old web application that is still being used but only parts of it and will be turned off this year. I needed to remove about 160 million records from the database so the SQL Azure database could be downscaled as well as the Azure App Plan. A quick note on this, I didn't really know how long this would take and just decided to brute force it (delete from table) but after three hours I realized it was going to take too long (maybe 10+hours) so I upscaled the database and rewrote the query to batch delete which worked out better and didn't force me to keep the connection open. All in all it took about 5ish hours.
Vendor Bad Service. We developed a large marketing solution (think email/sms/etc) and the email service provider (ESP) for retail chains. I mention the client type because our clients are legitimate senders, there is nothing fishy about them as we vete them and have policies regarding best practices/etc. My point is there is nothing spammy going on with our clients. Our Email Service Provider has decided to cut off our sending several times over infractions, then point us to their documentation and whatever the issue might be isn't even documented. They basically treat us (and others) like we are spammers instead of partners and never reach out first. It is definitely a broken relationship we tried to address. We have requested better treatment several times, have asked they provide better documentation and being proactive with us but they ignore all these requests. In a future post after we migrate I may get into which provider this is. This week we got cut off again (we address all issues ASAP) and we are actively migrating off them in the next month.
One of my clients purchased a company and I managed the website and domain/dns transfer. I don't know why people hate DNS but I've done this so many times their IT Director commented to me of how smooth it went. I asked them if he was being sarcastic! ha
PWA Offline. We live in a hyperconnected world so this project is taking a little longer than I expected. This client has field representatives that go to remote locations and they do NOT have access to the internet via wifi nor mobile. Must be pretty damn remote! Working on providing a simple offline enabled pwa so they can log some note type activities and then complete the process when connected.
I probably implemented more than 30 plus Umbraco websites over the years. Most of the time they don't require many upgrades but some of the larger ones we review and try to keep them updated. One client is on version 7 which was upgraded from version 6 and we are looking at the best path forward to either version 8 or waiting on vNext (9 aspnet core). Still haven't seen any official documentation on this upgrade path from v8 from Umbraco which is a little disheartening. I inquired in the forum but I don't consider that official and they probably need to publish this information in the documentation.
Another Umbraco item this week from a GitHub issue I posted a month ago is I am trying to actively answer any questions people ask and provide as much information. This is a major bug that needs to be addressed and impacts not just me but others.
Sprint 4.1.2 deployment to production on a large system that I consult/manage on. I really love Azure Dev Ops because it makes this so easy.
Several vendor meetings regarding SMS Short Code acquisitions and cementing a better strategy with the changes coming to SMS in 2021. A2P and P2P!
Setup an Azure based strategy and implementation for a client's web application including fixing a legacy Visual Studio solution's complication problems so that I could create a Github action to compile and deploy to Azure. In addition there were several changes to the application from the migration that needed tweaking (will probably go a couple weeks).
New location deployments for the Flutter app. This used to be more time consuming but is easy now.
I was reviewing some code with regards to a reported bug about a running clock in a web app's header (vuejs/vuetify) that was experiencing time drift. The reason to me was obvious but I have to wonder why the developer (not a junior) built the clock in the way they did considering the actual solution wasn't any more complicated than the erroneous code/logic. They were just adding 1000ms to a saved time value each second. 🤔 This doesn't work!
setInterval(() => {
this.savedTime = this.savedTime.add(1, "second");
}, 1000);
To close out my first weekly notes, I wanted to mention that I work on 5-10 projects at any given time, have over 20 years experience and wear many hats from consultant, project manager, mobile developer, full stack web developer, Azure and Azure dev ops management, and business (co)owner. You'll see this reflected in my activities.