tedstech.com Open in urlscan Pro
2606:4700:3031::6815:5703  Public Scan

Submitted URL: http://tedstech.com/
Effective URL: https://tedstech.com/
Submission: On May 17 via api from US — Scanned from DE

Form analysis 2 forms found in the DOM

<form class="gh-form" data-members-form="">
  <input class="gh-form-input" type="email" placeholder="jamie@example.com" required="" data-members-email="">
  <button class="gh-button" type="submit">
    <span><span>Subscribe</span> <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" viewBox="0 0 256 256">
        <path d="M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z"></path>
      </svg></span>
    <svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24">
      <g stroke-linecap="round" stroke-width="2" fill="currentColor" stroke="none" stroke-linejoin="round" class="nc-icon-wrapper">
        <g class="nc-loop-dots-4-24-icon-o">
          <circle cx="4" cy="12" r="3"></circle>
          <circle cx="12" cy="12" r="3"></circle>
          <circle cx="20" cy="12" r="3"></circle>
        </g>
        <style data-cap="butt">
          .nc-loop-dots-4-24-icon-o {
            --animation-duration: 0.8s
          }

          .nc-loop-dots-4-24-icon-o * {
            opacity: .4;
            transform: scale(.75);
            animation: nc-loop-dots-4-anim var(--animation-duration) infinite
          }

          .nc-loop-dots-4-24-icon-o :nth-child(1) {
            transform-origin: 4px 12px;
            animation-delay: -.3s;
            animation-delay: calc(var(--animation-duration)/-2.666)
          }

          .nc-loop-dots-4-24-icon-o :nth-child(2) {
            transform-origin: 12px 12px;
            animation-delay: -.15s;
            animation-delay: calc(var(--animation-duration)/-5.333)
          }

          .nc-loop-dots-4-24-icon-o :nth-child(3) {
            transform-origin: 20px 12px
          }

          @keyframes nc-loop-dots-4-anim {

            0%,
            100% {
              opacity: .4;
              transform: scale(.75)
            }

            50% {
              opacity: 1;
              transform: scale(1)
            }
          }
        </style>
      </g>
    </svg> <svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
      <path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"></path>
      <style>
        .checkmark {
          width: 40px;
          height: 40px;
          display: block;
          stroke-width: 2.5;
          stroke: currentColor;
          stroke-miterlimit: 10;
        }

        .checkmark__check {
          transform-origin: 50% 50%;
          stroke-dasharray: 48;
          stroke-dashoffset: 48;
          animation: stroke .3s cubic-bezier(0.650, 0.000, 0.450, 1.000) forwards;
        }

        @keyframes stroke {
          100% {
            stroke-dashoffset: 0;
          }
        }
      </style>
    </svg> </button>
</form>

<form class="gh-form" data-members-form="">
  <input class="gh-form-input" type="email" placeholder="jamie@example.com" required="" data-members-email="">
  <button class="gh-button" type="submit">
    <span><span>Subscribe</span> <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" viewBox="0 0 256 256">
        <path d="M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z"></path>
      </svg></span>
    <svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24">
      <g stroke-linecap="round" stroke-width="2" fill="currentColor" stroke="none" stroke-linejoin="round" class="nc-icon-wrapper">
        <g class="nc-loop-dots-4-24-icon-o">
          <circle cx="4" cy="12" r="3"></circle>
          <circle cx="12" cy="12" r="3"></circle>
          <circle cx="20" cy="12" r="3"></circle>
        </g>
        <style data-cap="butt">
          .nc-loop-dots-4-24-icon-o {
            --animation-duration: 0.8s
          }

          .nc-loop-dots-4-24-icon-o * {
            opacity: .4;
            transform: scale(.75);
            animation: nc-loop-dots-4-anim var(--animation-duration) infinite
          }

          .nc-loop-dots-4-24-icon-o :nth-child(1) {
            transform-origin: 4px 12px;
            animation-delay: -.3s;
            animation-delay: calc(var(--animation-duration)/-2.666)
          }

          .nc-loop-dots-4-24-icon-o :nth-child(2) {
            transform-origin: 12px 12px;
            animation-delay: -.15s;
            animation-delay: calc(var(--animation-duration)/-5.333)
          }

          .nc-loop-dots-4-24-icon-o :nth-child(3) {
            transform-origin: 20px 12px
          }

          @keyframes nc-loop-dots-4-anim {

            0%,
            100% {
              opacity: .4;
              transform: scale(.75)
            }

            50% {
              opacity: 1;
              transform: scale(1)
            }
          }
        </style>
      </g>
    </svg> <svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
      <path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"></path>
      <style>
        .checkmark {
          width: 40px;
          height: 40px;
          display: block;
          stroke-width: 2.5;
          stroke: currentColor;
          stroke-miterlimit: 10;
        }

        .checkmark__check {
          transform-origin: 50% 50%;
          stroke-dasharray: 48;
          stroke-dashoffset: 48;
          animation: stroke .3s cubic-bezier(0.650, 0.000, 0.450, 1.000) forwards;
        }

        @keyframes stroke {
          100% {
            stroke-dashoffset: 0;
          }
        }
      </style>
    </svg> </button>
</form>

Text Content

 * Home
 * About
 * Gear
 * Software
 * Tech

Sign in Subscribe


SOFTWARE, GEAR AND TECH FROM THE LAND OF THE RISING FUN

Subscribe


LATEST


APPLE VS GOOGLE VS MICROSOFT FOR CUSTOM DOMAIN EMAIL

Choosing a custom domain email provider sucks. They all cost money and are a
faff to set up - I've used all three of the main ones (Apple/Google/Microsoft)
so here are your options. There is also a secret "Exchange Online" plan by
Microsoft that I'll link to at

By Ted Anderson Mar 22, 2024


WHY MICROSOFT ORLEANS IS IMPORTANT FOR .NET DEVELOPERS

Small to medium sized development teams often grapple with the complexities of
microservices architecture. While the distributed approach offers scalability
and flexibility, it can quickly become overwhelming, especially without a large
team to manage the infrastructure. Enter Microsoft Orleans, a framework designed
to simplify building scalable, resilient, and distributed backends.

By Ted Anderson Feb 7, 2024


DAILY DRIVING THE JELLY STAR 3 INCH ANDROID PHONE

Four weeks with the world's smallest Android phone, the Unihertz Jelly Star

By Ted Anderson Oct 21, 2023


WELCOME TO TEDSTECH.COM

Why and how did we get here?

By Ted Anderson Oct 15, 2023


C# 11 AND .NET 7 - EARLY LOOK AT NEW FEATURES

.NET 7 is coming soon alongside C# 11. It’s possible to take a look at some of
the new features now, including the bang bang (!!) operator and List patterns,
which I think are really cool. Here is a video on the topic:

By Ted Anderson Mar 10, 2022


ADDING RAZOR CSHTML VIEW RUNTIME RE-COMPILATION TO A ASP.NET CORE 5.0 APP AFTER
CREATING IT

I recently came across an interesting issue where after starting a new ASP.NET
Core 5.0 .NET 5 project using the “ASP.NET Core Web App (Model-View-Controller)”
template did not include the ability to update .cshtml Razor files without
recompiling and restarting the whole app. There is a checkbox

By Ted Anderson Feb 19, 2021


HANDLING AND INTERCEPTING BACK BUTTON NAVIGATION IN XAMARIN FORMS SHELL

I’ve recently ended up needing to ask if the user really wants to navigate away
from a page in my Xamarin app, Net Writer. Essentially whilst a post is being
edited I don’t want the user to accidentally lose their progress, necessitating
the need to inject a “Are

By Ted Anderson Feb 7, 2021


IMPROVE REMOTE DESKTOP FRAME RATE TO 60FPS BY ENABLING AVC 4:4:4 ENCODING

I am a great fan of Remote Desktop and have been using it for over a decade.
It’s built in and just works. One gripe of mine has always been the poor
framerate which makes animations and transitions super janky by default. In RDP
10 it turns out this

By Ted Anderson Dec 15, 2020


USING GOOGLE APIS AND AUTH IN XAMARIN FORMS

I’m working on porting Net Writer from UWP to Android using Xamarin Forms. The
Google authentication is a little bit tricky as it is constantly changing.
Working off this amazing blog post by Timothé Larivière got me 90% of the way
there but there are some updates to the

By Ted Anderson Jul 3, 2020


UWP AND XAMARIN FORMS - HOW TO DISPLAY YOUR APP'S VERSION NUMBER

Assume we want to automatically show the version number of your app in your UI,
for example, the settings page or elsewhere. Your version number will normally
be updated by your CI/CD system (updating Package.appxmanifest for UWP and
AndroidManifest.xml for an Android Xamarin app). Create a property

By Ted Anderson Jun 25, 2020


ADDING AN ADMIN PANEL TO A .NET CORE WEB APP WITH COREADMIN

I’ve published version 1.0.0 of a new open source package and a corresponding
nuget package – CoreAdmin.CoreAdmin adds a nice set of CRUD screens to your .NET
Core web app in one line of code! Adding CoreAdmin to your app Given a typical
Startup.cs file, you

By Ted Anderson Jun 11, 2020


EF CORE MIGRATIONS - CREATING INDEXES ONLINE DEPENDING ON SQL SERVER EDITION

I recently hit the classic case of trying to add Indexes to a large table.
Whilst Entity Framework Core supports creating Indexes online during migrations,
not all versions of SQL Server support this. In the case that your migration
contains the code: migrationBuilder.CreateIndex( name: "IX_TableName_ColumnName"
table: "TableName"

By Ted Anderson Feb 4, 2020


TED'S TECH

Software, gear and tech from The Land of the Rising Fun

Subscribe
See all
Powered by Ghost


TED'S TECH

Software, gear and tech from The Land of the Rising Fun

Subscribe