Automating object pooling using IDisposable and finalizers

dot-net-logo

Last week we looked into the concept of object pooling, and how it can be used to increase performance by reusing objects that are expensive to create. We also implemented a generic static class to make using object pools as simple as possible. Today I want to expand on the topic by showing how we can go even further and ...

Read More »

MSDN Dive – Week 35

dot-net-logo

MSDN Dive – Week 35 Today I want to show you some documentation about the Windows Presentation Foundation (WPF) from the MSDN. There is a lot of material that can help you implement rich and sophisticating UIs as well as material that helps you to understand how the WPF works internally.       WPF Architecture – Learn: Differences between PresentationFramework ...

Read More »

Reusing objects with generic object pooling

dot-net-logo

Over the last couple of months I’ve been working a lot with WPF (Windows Presentation Foundation), the popular user interface framework by Microsoft. Something that I noticed quite quickly is how expensive it can be to create WPF controls in code. It could take up to several milliseconds to create a new interface element – even simple ones. The interface ...

Read More »

.NET enable and disable Fusion log to investigate assembly loading issues

dot-net-logo

Had to investigate some Assembly Loading issues, so I wrote two batch files to enable and disable the .NET Fusion Log: reg add "HKLM\Software\Microsoft\Fusion" /v EnableLog /t REG_DWORD /d 0 /f Disable-Fusion-Log-.NET-Assembly-Binding-Logging.bat hosted by GitHub. reg add "HKLM\Software\Microsoft\Fusion" /v EnableLog /t REG_DWORD /d 1 /f Enable-Fusion-Log-.NET-Assembly-Binding-Logging.bat hosted by GitHub. They modify the HKLM\Software\Microsoft\Fusion key REG_DWORD value EnableLog. A few notes: ...

Read More »

You’ve Just Been Laid Off From Your Programming Job. Now What

career-logo

Don’t worry. It happens to the best of us. We’ve all been “laid off” at some point in our lives—well, at least most of us. Maybe your employer went through a “workforce reduction” and randomly selected people to be laid off—you just got unlucky. Or perhaps it wasn’t so much luck, but your tendency to watch StarCraft 2 Major League ...

Read More »

API Design: Small modifications over a network

ravendb-logo

In RavenDB 4.0 (yes, that is quite a bit away), we are working on additional data types and storage engines. One of the things that we’ll add, for example, is the notion of gossiping distributed counters. That doesn’t actually matter for our purposes here, however. What I wanted to talk about today is the problem in making small updates over ...

Read More »

SignalR Scaleout with REDIS Backplane

dot-net-logo

Introduction In “Getting Started with SignalR“, I provided a gentle introduction to SignalR with a few simple and practical examples. The overwhelming response showed that I’m not alone in thinking this is an awesome technology enabling real-time push notifications over the web. Web applications often face the challenge of having to scale to handle large amounts of clients, and SignalR ...

Read More »

Localised Crepuscular Rays

dot-net-logo

Crepuscular rays, volumetric rays, or god rays have become a common effect in games. They are used especially in first and third person games – where the player can easily look at the sky – to give the sun, moon, or other bright light sources additional impact and create atmosphere. Depending on how the effect is used it can emphasize ...

Read More »

Getting Started with SignalR

dot-net-logo

Introduction SignalR is an open source .NET library enabling real-time broadcasts of data on the web. Typical example applications include chats, stock tickers, and even games. It does this by leveraging and abstracting a number of different technologies, choosing the most suitable transport mechanism based on what the client and server support (since WebSocket support is not yet widespread). At ...

Read More »