Browse our archives by topic…
Blog
A brief introduction to GTD (Getting Things Done)
Boost productivity & reduce stress with GTD workflow. Mike Larah shares insights from a recent course on this effective time management method.
Exposing legacy batch processing code online using Azure Durable Functions, API Management and Kubernetes
Discover how Kubernetes, Azure Durable Functions, and Azure API Management transform legacy batch processing code into a RESTful API.
Azure Analysis Services - How to query all the measures in a model from .NET
Explore .NET querying methods for integrating Azure Analysis Services beyond data querying into dynamic UIs and APIs.
Azure Analysis Services: How to open a connection from .NET
Learn to integrate Azure Analysis Services in apps by establishing server connections. Follow this guide with code samples for essential scenarios.
NDC London 2020 - My highlights
Ed attended NDC London 2020, along with many of his endjin colleagues. In this post he summarises and reflects upon his favourite sessions of the conference including; "OWASP Top Ten proactive controls" by Jim Manico, "There's an Impostor in this room!" by Angharad Edwards, "How to code music?" by Laura Silvanavičiūtė, "ML and the IoT: Living on the Edge" by Brandon Satrom, "Common API Security Pitfalls" by Philippe De Ryck, and "Combatting illegal fishing with Machine Learning and Azure - for less than £10 / month" by Jess Panni & Carmel Eve.
NDC London Day 1
In this post, Ian describes some of the highlights from the NDC London conference
NDC London Day 3 Retrospective - from personal projects to developer comedy
Along with several of my endjin colleagues, I attended NDC London in January this year - here's a run through of the sessions I attended on Day 3 and my thoughts. This final day was a mixed bag, taking in talks on drumming and AKKA.net, as well as something a bit more close to home - a session from endjin's own Jess Panni and Carmel Eve on our recent project for OceanMind.
Mental health and managing the challenges of remote working
Remote working has many benefits. It allows us a huge amount of freedom, especially around managing our personal and professional lives. But alongside these benefits it also brings challenges. When you combine these challenges with certain aspects of mental health it can sometimes be difficult to manage. However, there are also ways in which remote work can enable us to control our environments in a way that would be extremely difficult if working from a conventional office. We have been a fully remote company now for over two years, and in this post Carmel shares some of her experiences of managing mental health whilst remote working.
NDC London Day 2 Retrospective - Full Stack, from SPAs to high performance .NET Core via Websockets
Along with several of my endjin colleagues, I attended NDC London in January this year - here's a run through of the sessions I attended on Day 2 and my thoughts. This day was UI heavy, with sessions on Vuejs and UI testing, but I also learned more about GraphQL and writing high performance C# code.
NDC London Day 1 Retrospective - dangerous AI, microservices, diagnostics and Blazor
A retrospective of my first day at NDC London 2020, taking in sessions on AI and Machine Learning, Capability Mapping, Micro Frontends, Diagnostics and Blazor.
NDC London - A dive into responsible and inclusive technology
NDC London day 1 was mainly focused around the responsibility we all face when developing new technology. As developers we cannot absolve ourselves of the consequences of not considering diversity and inclusivity when designing our solutions.
Azure Analysis Services - integration options using .NET, REST APIs and PowerShell
Explore Azure Analysis Services in custom apps using SDKs, PowerShell cmdlets & REST APIs. Learn to choose the right framework in this guide.
Azure Analysis Services: 8 reasons why you might want to integrate into a custom application
Explore Azure Analysis Services' versatility in bespoke analysis products & processes, and learn how it can unlock data insights beyond traditional BI.
AI for Good Hackathon
Endjin attended Microsoft's AI for Good hackathon at the IET in London, highlighting the potential of tech to amplify good deeds.
Careers in software development - different paths into the industry
There are many different paths into the tech industry, Carmel has been speaking at some local schools about joining the industry from a scientific background. In this post she discusses the crucial tools which science gives you which can help you succeed in tech!
Building a secure data solution using Azure Data Lake Store (Gen2)
In this blog we discuss building a secure data solution using Azure Data Lake. Data Lake has many features which enable fine grained security and data separation. It is also built on Azure Storage which enables us to take advantage of all of those features and means that ADLS is still a cost effective storage option!This post runs through some of the great features of ADLS and runs through an example of how we build our solutions using this technology!
Speaking at NDC London: Combatting illegal fishing with Machine Learning and Azure
In January 2020, Carmel is speaking about creating high performance geospatial algorithms in C# which can detect suspicious vessel activity, which is used to help alert law enforcement to illegal fishing. The input data is fed from Azure Data Lake Storage Gen 2, and converted into data projections optimised for high-performance computation. This code is then hosted in Azure Functions for cheap, consumption based processing.
Troubleshooting "NotImplemented / Access is denied" error when integrating Azure App Service with Azure Virtual Network (VNet)
Are you configuring your Azure App Service to use a VNet? The regional VNet integration for an Azure App Service is a preview feature, and so comes with some quirks. One of the documented limitations of this preview feature is that "The feature is only available from newer App Service scale units that support PremiumV2 App Service plans." This has interesting implications as to how you need to deploy your App Service, otherwise you could end up with a rather perplexing pattern of errors. Read about how we came about this error, and how we ended up fixing it.
C# 8 Positional Patterns Custom Deconstructor Pitfall
Discover 'positional patterns' in C# 8, their interaction with custom desconstructors, and unexpected behaviors.
Survey: Expression Trees use cases in .NET
Expression Trees are one of .NET's super powers; but they are hugely overlooked and misunderstood. They can be used for on-the-fly code generation; building DSLs, and producing high performance computational algorithms. I'm trying to gather evidence about how you are using them, to make a case for future investments in the Expression Tree subsystem in .NET Core / .NET 5.0
C#, Span and async
Explore how ref struct types like Span<T> in C# enhance performance but pose async method challenges, and learn mitigation techniques.
Rising Stars - Cloud Apprentice & Apprentice Engineer of the Year
Both of endjin's apprentices won in their categories of Apprentice Engineer and Cloud Apprentice at the Rising Star Awards.
Comparing GitHub Actions and Azure Pipelines: High-level concepts
GitHub Actions is GitHub's new CI/CD platform. It is comparable with Azure Pipelines, which forms part of the Azure DevOps suite. In this post, Mike Larah looks at the similarities and differences in the high-level concepts and terminology between the two platforms.
Long Running Functions in Azure Data Factory
Explore Azure Durable Functions as an alternative to long-running operations, overcoming HTTP Triggers' 230s limit in Azure Load Balancer.
How Azure DevTestLabs is helping me climb Everest
Remote working allows us to work from anywhere we want. This brings a huge amount of flexibility in freedom, however we do need the help of a working laptop! When Carmel's laptop gave in just before a trip, she used Azure DevTestLabs to allow her to continue to work using a 10 year old Mac that probably couldn't wouldn't have been up to the task alone...