.NET Core logo + Dotnet bot wearing RedHat

How to run ASP.NET Core as a service on Linux (RHEL)

- DotNet
This article walks us through running a ASP.NET Core web application on Linux (RHEL) using systemd. The end goal is to serve ASP.NET Core directly via the built-in Kestrel webserver over port 80/443.
.NET Core logo + Dotnet bot wearing RedHat

How to run a .NET Core console app as a service using Systemd on Linux (RHEL)

- DotNet
Let's learn how to run a .NET Core console application on systemd. After running aconsole app as a service, we'll upgrade to using the worker template designed for long running services/daemons. Lastly, we'll add the systemd package integration.
Phone/Tablet/Laptop displaying Umbraco logo

Implementing Responsive Images in Umbraco

- Umbraco
The web platform has responsive image capabilities such as the srcset-attribute, sizes-attribute, and the picture-element. These capabilities may seem daunting sometimes. We'll learn how to make them available and maintainable to Umbraco content editors.
Visual Studio Code logo cursing at .NET Core logo with Red Hat logo

VS Code C# Extension not working in Remote SSH mode on Red Hat Linux? Here's a workaround

- DotNet
Unfortunately, the C# Extension for VS Code malfunctions when following the official steps to install .NET Core on Red Hat and using the Remote SSH extension. OmniSharp is not able to find the .NET Core installation but we can work around this.
Screenshot of Visual Studio with EF Raw SQL Code

Querying data using raw SQL & Stored Procedures in Entity Framework Core

- DotNet
When LINQ queries can't meet the performance requirements of your application, you can leverage Raw SQL and still have EF map the data to concrete .NET objects. You can also invoke Stored Procedures in case the logic of the SQL queries need to reside in the SQL Database.
Screenshot of the HTML Agility Pack homepage

Auto generate Heading Anchors using HTML AgilityPack DOM Manipulation

- DotNet
Manually adding an anchor to every heading would be a painful solution. So let's learn how we can achieve this by generating the Heading Anchors using the HTML AgilityPack .NET library.
.NET and Selenium logo connected to Azure DevOps Pipelines logo driving browser

How to run .NET Core Selenium UI tests on Azure DevOps Pipelines Windows/Ubuntu agents? 🚀

- DotNet
his post discusses how to take those UI tests and run them in Azure DevOps Pipelines on both Windows & Ubuntu agents. Use this GitHub repository which contains the UI test project necessary to follow along in this post.
.NET Core + Selenium logo steering a web browser window

How to UI test using Selenium and .NET Core on Windows, Ubuntu, and maybe MacOS? 🤷‍♀️🤷‍♂️

- DotNet
Selenium is a browser 🌐 automation tool mainly used for UI testing and automating tasks. Selenium is agnostic of operating system, programming language, and browser. You can automate Chrome on MacOS using C#, FireFox using Python on Windows, or Opera using NodeJS on Linux to give you a few examples.
PowerShell and Azure WebJobs Logo running a shredder, shredding logs

Deleting old web app logs using Azure Web Jobs and PowerShell

- Azure
When you're Azure App Service writes a lot of logs, these logs can quickly pile up and even hit your "File system storage" quota limits. This was something I personally didn't pay attention to for quite some time and was surprised to find multiple gigabytes of logs sitting in my app service. To solve this issue, you can use a PowerShell script and a time triggered Azure Web Job.
Azure Logo holding a stop sign and PowerShell logo

Bulk add IP Access Restrictions to Azure App Service using Az PowerShell

- Azure
Azure App Services are publicly accessible via Azure's public DNS in the format of "[NAME]", but there are many reasons for not wanting it to be accessible via the DNS. This script uses the Az PowerShell module to bulk add IP Ranges into the Access Restriction feature in App Service.
Azure logo holding stop sign, PowerShell logo, and Cloudflare logo

Bulk add Cloudflare's IPs to Azure App Service Access Restrictions using Az PowerShell

- Azure
Azure App Services are publicly accessible via Azure's public DNS, but when using Cloudflare you should lock this down to only allow Cloudflare to reach your service. This script will add all Cloudflare's IP ranges to your app service Access Restriction.
Azure logo holding stop sign and PowerShell logo

Bulk add Application Insights Availability Test IPs to Azure App Service Access Restrictions using Az PowerShell

- Azure
Azure App Services are publicly accessible via Azure's public DNS, but using Access Restrictions you can lock this down. To ensure your App Insight Availability Tests still work, you can use this PowerShell script to bulk insert all the IP ranges.
Azure DevOps Pipelines clearing Cloudflare Cache with broom

Clearing Cloudflare cache using PowerShell in Azure DevOps Pipelines

- Azure
Learn how to purge Cloudflare's cache as part of your Continuous Deployment. This post will walk you through creating a PowerShell task that interacts with Cloudflare's API to clear the cache. This task will run as part of an Azure DevOps Pipelines.
Social Media Logo in front of arrows

Social Sharing Buttons with zero JavaScript to Twitter, Reddit, LinkedIn, and Facebook

- Web
Instead of slowing down our site and feeding advertisement profiles, we can use plain HTML to provide social sharing functionality. This post will cover social sharing to Twitter, Reddit, LinkedIn, and Facebook.
Azure & .NET & Discord Logo

Creating a Discord Bot using .NET Core and hosting it on Azure App Services

- Azure
Discord is an online communication platform built specifically for gaming. Using .NET Core and Azure App Service WebJobs we can host a Discord bot that can listen and respond to voice and text input.
PowerShell Logo

PowerShell Snippet: Clearing Cloudflare Cache with Cloudflare's API

- PowerShell
Cloudflare provides a GUI to purge cache, but every action you can perform using the GUI, you can also do with Cloudflare's API. You could use the API to auto purge the cache whenever you update content in your CMS of choice, or purge the cache as part of your Continuous Delivery pipeline. Using PowerShell we'll interact with Cloudflare's API and purge their cache.
MS Paint drawn Cloudflare logo

Setting up Cloudflare Full Universal SSL/TLS/HTTPS with an Azure App Services

- Azure
Using Cloudflare's Universal SSL/TLS service, we can provide our website over a safe HTTPS connection. This post walks you through setting up the SSL/TLS encrypted connection from client to Cloudflare, to your Azure Web Application using the Full (strict) option and Cloudflare's origin certificates.
PowerShell logo

PowerShell Snippet: Crawling a sitemap

- PowerShell
Here's a PowerShell function that you can use to validate that all pages in your sitemap return a HTTP Status code 200. You can also use it to warm up your website, or ensure your website caching is warm after a cold boot. I personally use it as part of my Continuous Delivery pipeline to warm up my site and Cloudflare's cache.
Phone with speedometer

Web performance: prevent wasteful hidden image requests (display: none)

- Web
We often hide images using CSS with "display: none", but this doesn't actually prevent the browser from downloading these images. Using the HTML Picture element, we can serve different versions of an image depending on media queries. We can even use a data-img to prevent images from being downloaded at all and optimize our website speed.
Robot with Umbraco logo

Crawling through Umbraco with Robots

- Umbraco
The robots.txt file’s main purpose is to tell robots (Google Bot, Bing Bot, etc.) what to index for their search engine, and also what not to. Usually you want most of your website crawled by Google, such as blog posts, product pages, etc., but most websites will have some pages/sections that shouldn’t be indexed or listed in search engines.
Azure Application Insights logo + Umbraco logo

Ignoring Umbraco ping.aspx from Azure Application Insights

- Umbraco
Application Performance Monitors provide you with a lot of data, but some of that data may not be relevant. Specifically, in Umbraco there is a page at \umbraco\ping.aspx that is being called frequently to keep the site alive. This is very useful to prevent the site from "dying" (?), but the data for this request isn't that relevant and could skew your statistics. Using Azure Application Insights ITelemetryProcessor, we can prevent ping request from being sent to Azure Application Insights.
Spider Web with Umbraco logo

Crawling through Umbraco with Sitemaps

- Umbraco
Websites come in all shapes and sizes. Some are fast, some are beautiful, and some are a complete mess. Whether it's a high-quality site is irrelevant if people can’t find it, but search engines are here to help. Though the competition to get on first page is tough, this series will dive into some common practices to make your website crawlable.
Firebase Logo + VueJS Logo + Google Keep Logo + Heart icon

Exploring VueJS and Firebase

- Frontend
A while back I started experimenting with the up and coming javascript library VueJS for an internal admin dashboard. I started learning about VueJS at Laracasts where they have a great mostly free series about VueJS. I was a little skeptical about yet another JavaScript framework/library to solve our modern day SPA needs. Though VueJS felt like a breath of fresh air. It is both refreshingly new, yet still very familiar (to AngularJS or MVVM in .NET.)
Adorable spider

Updated Ajax + SEO Guidelines

- Web
When you build an Ajax based website and want to be SEO friendly, there are a couple of techniques you have to apply. Back in 2009, Google made a proposal on how to make your Ajax pages crawlable.

More Fun In DC

- College
Met onze groep hebben we ons aangemeld om een tour te krijgen in de Capitol en de Pentagon. Helaas wachten we nog steeds op een bevestiging om naar de Pentagon te gaan. Men is extreem voorzichtig met tours in de Pentagon en aangezien onze vriendengroep bestaat uit ongeveer 10 personen met 7 verschillende nationaliteiten is de kans klein dat we toegelaten worden.

YFU Internship: Brand Launch

- College
Vorige week hadden we onze handen vol met het lanceren van de nieuwe YFU brand! Kattis  Åström, de Global Brand Manager bij YFU IES, kwam langs van Zweden. Om ons trainingen te geven en de brand te lanceren. Kattis gaf training over de nieuwe branding in het algemeen. Over de kleuren, typeface, logo's, iconography, business kaartjes, facturen, ... De volgende dagen werd er gesproken over het 'messaging' deel van de branding. Kattis heeft het dagboek van onze stichtster gelezen en een modernere en meer complete geschiedenis uitgeschreven om naar de buitenwereld te sturen.

Resume Reviews & Online Identity

- College
Eén van de opdrachten voor The Washington Center is de "Career Marketing Reflection". Voor deze opdracht moet je 2 professionals die werken in jouw sector interviewen en je resumé laten reviewen. Hiervoor heb ik uitgereikt naar Shahed Chowdhuri, die ik heb leren kennen toen ik een Microsoft Training bijwoonde. Het was een zeer interessant gesprek en zijn tips over mijn resume en LinkedIn hielpen mij. Enkele dagen later heb ik ook mijn collega en baas om feedback gevraagd. Mijn resumé is veel verbeterd en ik heb ook een creatieve resumé ontworpen na hun feedback.
Ruby on Rails logo

YFU Internship: Rails Deployment

- College
Nu dat de Photouploader klaar is voor zijn beta test was het mijn taak om te onderzoeken hoe je Rails applicatie kan deployen naar een webserver. Hiervoor heb ik van start tot deployment documenten opgesteld zodat mijn collega's dit ook kunnen uitvoeren wanneer ik niet meer bij hun werk.

Microsoft DevCamp: Cloud

- College
Er zijn twee Microsoft kantoren in de buurt van D.C. en er worden vaak trainingen en evenementen gegeven. Een overzicht van de evenement kan je vinden op de Microsoft Events site. Het gebouw in Reston ligt dicht bij de luchthaven waar ik aangekomen ben. Het gebouw in Chevy Chase ligt op de grens van D.C. en Bethesda en is zeer toegankelijk omdat er een metro ernaast gevestigd is. Het ligt 11 metro stops (30 min) van The Washington Center. Ik heb het DevCamp: Cloud evenement bijgewoond. Dit was een volledige dag training over Azure en de voornaamste services die dit cloud platform aanbiedt.

YFU Internship: Pitching Photo Uploader

- College
Maandag en dinsdag heb ik nog verder gewerkt aan de laatste stap van de Photo Uploader, de documentatie. Ik heb documentatie geschreven voor ontwikkelaars waarin beschreven staat hoe ze het project kunnen opzetten, hoe ze de JSON API kunnen consumeren en hoe de Data Modellen eruit zien en waarvoor ze dienen. Daarnaast heb ik ook nog algemene project documentatie geschreven. Dit bestaat uit de verschillende stappen van het project, namelijk de requirement analysis, usability analysis, technological analysis, work breakdown schedule aan de hand van een Gantt chart, data structuur met UML schema, wireframes, user guide met screenshots en een wekelijkse Gantt update om de vooruitgang te kunnen volgen.

YFU Internship: Afronden Photo Uploader

- College
Deze week focuste ik me op het afwerken van de laatste vereisten en het documenteren van de applicatie. Woensdag ochtend was ik klaar met de applicatie. Zoals je ziet zijn alle features 100% voltooid en gesloten. Daarna heb ik besloten om ook support subtasks toe te voegen om deze taken iets specifieker te kunnen rapporteren. Ondertussen ben ik klaar met de JSON API documentatie en bijna met de programmeur documentatie. Eenmaal dat ik de kleuren van de nieuwe branding van YFU heb en ze heb toegepast in de applicatie, zal ik ook de gebruikers documentatie schrijven.

YFU Internship: Week 4 - Project update, US Nummer en Polymer Meetup

- College
Ik ben ondertussen twee weken verder sinds de laatste keer dat ik de Gantt chart voor de Photo Uploader. Zoals je kan zien zijn er een paar dingen anders gelopen dan gepland. Ik had nogtans extra marge genomen, maar door ik had geen rekening gehouden dat ik maar 4 dagen per week werk. Aan mijn vorige projecten werkte ik altijd 7 op 7 dagen. Er viel dan ook nog een dag weg voor Presidents Day en door een sneeuwstorm. Momenteel ben ik een inhaal manoeuvre aan het doen om weer op schema te geraken.

More monuments & museums

- College
We bezochten nog meer gebouwen, monumenten en museums. Hieronder kan je foto's vinden van de bezochte plaatsen tot nu toe. Erna mochten we nog de tentoonstellingen bekijken. Er was een tentoonstelling over eten over de hele wereld. Hier staat ook een interactieve tafel waar de bereiding van de verschillende gerechten op geprojecteerd wordt. 4 mensen kunnen tegelijk een bereiding bedienen.

YFU Internship: Eerste project & presentatie

- College
Tot nu toe heb ik 4 opdrachten buiten de dagelijkse taken. POI - Het project van Jacob aan de praat krijgen (voltooid) Brand Forum - Een WordPress site opzetten voor de designer, site voor nieuwe branding guidelines voor YFU (voltooid) Presentatie YFU (voltooid) Photo Uploader (WIP)

Eerste Meetup

- College
In België heb je af en toe een interessante meetup, vaak moet je naar Antwerpen, Gent of Kortrijk gaan. Sinds dat ik in DC ben is mijn inbox overvol van interessante meetups in de buurt. AngularJS, Web Components, Ionic, Ruby, Ruby on Rails, C#, Windows, ...

Eerste week bij YFU

- College
De eerste dag was ik vastberaden om op tijd te komen en geen risico's te nemen dus ben ik om 7:45 vertrokken. Het was helaas niet volledig duidelijk en er zijn 20 verkeerslichten onderweg waar geen rekening mee gehouden wordt in Google Maps. Gelukkig kwam ik net op tijd (9:00) en ik werd zeer hartelijk begroet met PHP en cookies. Ik kreeg 's ochtends een presentatie over het bedrijf. Youth For Understanding is een internationaal uitwisselings non-profit organisatie.

Belgians in DC

- College
Deze middag stond er een Q&A sessie op het programma met TWC Alumni studenten. Eén van die studenten die hier in DC werkt is Tatiana Van Campenhout. Een Devine alumni student die sinds TWC (vorig jaar) bij mapbox werkt. Tatiana haar roommate is ook een TWC/Devine alumni student. We zullen proberen een Belgische avond te houden met de 5 andere Belgen en de alumnus. Ik probeer nog de andere Belgen te leren kennen om het aan hun voor te stellen.

Welcome to The District

- College
Een week geleden begon mijn internationaal avontuur. 3 maanden studeren en stage in Washington D.C. Met een geweldig afscheidsfeestje en goeie examens achter de rug begon ik aan deze (misschien wel) 'life changing experience'. Na een super 8u lange vlucht en een vlotte 'shuttle service' kwam ik eindelijk aan op mijn appartement. Ik werd zeer hartelijk ontvangen door The Washington Center en ontving mijn sleutels en rfid pas. Ik was benieuwd of mijn roommate al aangekomen was. Hij was al aangekomen, eigenlijk, ze waren allemaal al aangekomen. Blijkbaar had ik niet één roommate maar 3 roommates!