TWIL: August 15, 2021

Just as I suspected, I wasn’t able to publish my TWIL last week, so this post is a two-week summary. I was on vacations but I still got some learning time, just not as much as I’m used to while at work. Turns out that vacations with kids is a lot more demanding of my time than actual work. Who would have thought?…


As I mentioned in the first TWIL post, I find long drives alone a great opportunity to learn something by listening to podcasts. Yesterday I had a 3 hour-long drive so I got to listen to these.

.NET Rocks

Episode 1750: Fighting Hackers using HoneyTokens with Dana Epp
Bring the fight to the hackers with some clever code! Carl and Richard talk to Dana Epp about honeytokens – adding code and elements to your applications that are there only to attract bad actors. Dana talks about how hackers attack applications, looking for vulnerabilities. Often those attempts take weeks or even months and are hard to detect in regular logs. By adding code that would only run if an attacker was trying to exploit, you can raise a red flag to your security team early and take action before the attackers are successful.

Episode 1751: A Little Vue with Shawn Wildermuth
How is Vue evolving? Carl and Richard talk to Shawn Wildermuth about the ongoing evolution of Vue, now at V3. Shawn talks about the culture of Vue and how the significant changes between versions two and three did NOT lead to a lot of breaking changes.

Episode 1752: Hot Reload in Visual Studio 2022 with Dmitry Lyalin
How do you speed up your development loop? Carl and Richard talk to Dmitry Lyalin about Hot Reload in Visual Studio 2022. Dmitry talks about how Hot Reload goes beyond Edit and Continue, where you can make changes in code without a breakpoint, and Hot Reload will insert it into the running code, wherever possible. It doesn’t work in every scenario, but it does work for many, and across platforms and tools! Get more productive by being able to change code and see the results immediately!


Hanselminutes: Learn F# to write Succinct, Performant, and Correct Code with Don Syme
F# empowers everyone to write succinct, robust and performant code. Today Scott talks to Don Syme, the designer and architect of the F# programming language, described by a reporter as “the most original new face in computer languages since Bjarne Stroustrup developed C++ in the early 1980s.” How can F# help join both the .NET and JavaScript ecosystems?

Hanselminutes: Maximizing machine learning performance with OctoML and Luis Ceze
Great talk with Luis Ceze, creator of OctoML, about machine learning and Apache TVM (Tensor Virtual Machine), and what OctoML adds to it.

Architecture Articles

Service Mesh Wars, Goodbye Istio
Interesting article on Service Mesh alternatives and why Polymatic Systems decided to replace Istio with Linkerd. Of course these decisions are very dependent on the context of each organization, but it still raises a few compelling arguments.

The Netflix Cosmos Platform
Cosmos is a computing platform that combines the best aspects of microservices with asynchronous workflows and serverless functions. Its sweet spot is applications that involve resource-intensive algorithms coordinated via complex, hierarchical workflows that last anywhere from minutes to years. It supports both high throughput services that consume hundreds of thousands of CPUs at a time, and latency-sensitive workloads where humans are waiting for the results of a computation.

Stop this Microservices Madness
Interesting article from Federico Pugliese on when to use microservices architectures, and when to go for a monolith.

Clean API Architecture
This is a 6-part article series by Eric Silverberg, CEO of Perry Street Software, on Clean API Architecture which is applying the principles of Clean Architecture to API design.

Kubernetes — Architecture Overview
Introductory article about Kubernetes architecture. Really interesting if you are just starting with container orchestration and want to understand the building blocks of a Kubernetes-based architecture, this is a good read.

Cool Stuff

.NET 6. Becoming better than Java
Short article about .NET 5 and .NET 6. It also briefly mentions MAUI, the new Multi-platform App UI, which is a cross-platform native UI that allows you to build desktop and mobile applications with native GUI using a single codebase.

The 12 Habits of Highly Effective Software Developers
Interesting article about the 12 habits of highly effective software developers (a title inspired by Stephen Covey’s famous book “The 7 Habits of Highly Effective People). According to Erik van Baaren, these are:

  1. You Aren’t Gonna Need It (YAGNI)
  2. Avoid Premature Optimization
  3. Don’t Be Clever
  4. Don’t Repeat Yourself (DRY)
  5. Create Unit Tests
  6. Keep It Simple, Stupid (KISS)
  7. Adhere to a Fixed Code Style
  8. Document Your Code
  9. Asking for Help: The Right Way
  10. Refactor
  11. Be Professional
  12. Keep Learning

Why DBT will one day be bigger than Spark
Have you heard about DBT? It is a development framework that combines modular SQL with software engineering best practices to make data transformation easier for anyone who knows SQL. I believe Spark will still have its place for large and complex big data workloads, but DBT will be useful and easier for a team more familiar with SQL than Python.

Now that vacations are over, it’s time to continue learning every day. Happy learning!

Photo by matthew Feeney on Unsplash