Design Principia
  • Home
  • Projects
Andre Esteve

Andre Esteve

I'm a software engineer, curious about everything when code is involved! I currently work at Microsoft empowering customers and business to do more with Dynamics 365 for Commerce.

23 posts •
C#

Analyzing .NET managed code profile along with external code

How to analyze external code high CPU usage in .NET applications

  • Andre Esteve
    Andre Esteve
2 min read

Five principles for the effective code reviewer

1. Be kindWe are all learning. It is often easy to forget that when one has been hyper-focused on a specific code base or area. The memories of struggles one had to overcome

  • Andre Esteve
    Andre Esteve
3 min read

How to open a new terminal on the current working directory in i3

Often times I want to spin off a new terminal window on the current directory I am working on. I use gnome-terminal, and if you just type in 'gnome-terminal' it does spawn a

  • Andre Esteve
    Andre Esteve
1 min read

Ops! I broke mssql-server by running it with sudo

I was trying to debug some file access mssql-server process was trying to do with strace. It wasn't quite working so I decided to let strace start the process:sudo strace /opt/mssql/

  • Andre Esteve
    Andre Esteve
1 min read
C#

.NET IDisposable implementation

The other day I got a code review comment saying that I should implement the full blown disposable pattern for IDisposable including the protected virtual void Dispose(bool disposing) method. For a long

  • Andre Esteve
    Andre Esteve
3 min read
Visual Studio Extensions

COM vs MEF: Visual Studio extension service providers

When writing a Visual Studio extension, you pretty much need to use Visual Studio services for everything. Put simply, a service in this context, is an object that implements an interface that exposes

  • Andre Esteve
    Andre Esteve
1 min read
C#

The interface not supported fallacy

Today I was reviewing a colleague's code and I saw a pattern similar to the one below: interface IWorker { void doWork(); void setOfflineTarget(string target); } class OnlineWorker : IWorker { void doWork() { // do some work

  • Andre Esteve
    Andre Esteve
1 min read

How I am organizing my remote desktop connections

I've been using freerdp for a while - the command line specifically. It is quite verbose, however, to keep passing all the necessary arguments when calling freerdp, so a pretty common approach is

  • Andre Esteve
    Andre Esteve
1 min read
MSBuild

MSBuild NuGet Pack and Restore with older Net 4.5 projects

With Visual Studio 2017, MSBuild and NuGet are better integrated, which removes the need for things like package.config, as packages can be tracked in the csproj directly, and custom MSBuild targets for

  • Andre Esteve
    Andre Esteve
2 min read
Ghost

Add Disqus to Ghost Blog using code injection

Lots of ways to do this out there, ranging from "too much code" to "but, why?". Here's how I chose to do mine: <script> $(function() { var footer

  • Andre Esteve
    Andre Esteve
1 min read
Ghost

Start Ghost through NPM and it will eat up your memory

Somewhat recently I reduced the size of the virtual machine in which I host this blog. It is quite short on memory, but for the price I pay, can't really complain. Just now

  • Andre Esteve
    Andre Esteve
1 min read
Linux on Surface

Cross-compile Linux kernel for ARM and run on QEMU

In the process of trying to get Linux to boot on my Surface, I wanted to first get a kernel to boot on QEMU as to reduce as much of the work and

  • Andre Esteve
    Andre Esteve
5 min read
Linux on Surface

Chain load Grub from Windows Boot Manager?

On last post I got Windows Boot Manager to load GRUB (or what seems like it) on QEMU. Since then I was trying to cross-compile a newer version of GRUB for ARM and

  • Andre Esteve
    Andre Esteve
4 min read
Linux on Surface

Virtualize UEFI on ARM using QEMU

On my quest for Linux on Surface, I got too tiring of rebooting the tablet, tweaking some changes on the bcd store or efi partition, rebooting, failing and redoing the whole cycle again.

  • Andre Esteve
    Andre Esteve
3 min read
Linux on Surface

Linux on Surface RT

The other day I came across this interesting ebook by 0xAX, which got me interested into the whole x68 boot process. On the same week, when cleaning up my office, I found my

  • Andre Esteve
    Andre Esteve
1 min read
C#

Default property value when serializing with Newtonsoft JSON

The other day I wanted to use Newtonsoft JSON serializer to convert objects to JSON strings, with the twist that if some property of the object was null it should be defaulted to

  • Andre Esteve
    Andre Esteve
1 min read
Announcing: Commerce Runtime Handyman
Dynamics 365

Announcing: Commerce Runtime Handyman

I've been working on this Visual Studio extension, called Commerce Runtime Handyman. From time to time I spend a significant amount of time writing code on top of the Microsoft Dynamics Commerce Runtime

  • Andre Esteve
    Andre Esteve
1 min read
Ghost

Online backup your Ghost blog over SSH

Ghost's out of the box import/export backup mechanism works well, but doesn't backup images. I wanted a simple command line I could call to backup my blog and move the backup file

  • Andre Esteve
    Andre Esteve
1 min read
Bot Framework

Sending channel specific messages on Microsoft Bot Framework

A fundamental reason to use a framework to write a chat bot is so you don't need to do it all yourself, specially, do it all over again if you want your bot

  • Andre Esteve
    Andre Esteve
3 min read
Bot Framework

Microsoft Bot Framework on ASP.NET Core

Microsoft's Bot Framework is a set of libraries (you can choose between C# and JavaScript) and services that let you author chat bots for different platforms, like Facebook's Messenger, Skype, What'sApp and others

  • Andre Esteve
    Andre Esteve
1 min read
Roslyn

Writing a visual studio extension for code generation with roslyn

Recently I've been working on a Visual Studio extension to automate the tedious parts of code authoring at work. It turns out that there is a lot of knowledge out there, but quite

  • Andre Esteve
    Andre Esteve
11 min read
JavaScript

TypeScript: exposing module types in the global context and why to avoid it

Javascript modules have been around for a while, and there are plenty of good reasons why to use them, instead of writing code directly in the global scope. However, you might find yourself

  • Andre Esteve
    Andre Esteve
3 min read
Ghost

How to setup HTTPS endpoint for Ghost on Azure WebApp

Finally I got the blog setup with an HTTPS endpoint on Azure. I thought I would write up on the points that weren't that straight forward. Get a free SSL certificate I used

  • Andre Esteve
    Andre Esteve
3 min read
Design Principia © 2023
Latest Posts Ghost