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
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