Whoever has used advanced audio apparels knows that the most used driver is the ASIO one: quite commonly, each audio interface is provided with a proprietary implementation of the ASIO specifications and the driver is generally used from within the Digital Audio Workstation or other applications that are able to stream through this protocol. ASIO […]
As a developer, one of the many concerns I have when I write and test software is “how much CPU does this thing use?” – and in Windows there are some ways to keep an eye on this, depending on the level of details you’re interested in. For example, the GetProcessTimes function is useful to […]
Kerberos is an authentication protocol originally developed by MIT and implemented by various vendors and systems; probably its best description is in the first paragraph that can be found in the MIT Kerberos site: Kerberos is a network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography. A […]
There’s a famous article from Microsoft that says “Give me an handle, and I”ll show you an object“, dated July 15, 1993. There are a lot of Windows objects that can be retrieved using a handle, mainly GDI and USER objects but also Kernel objects are identified by handles – for example, the HeapCreate function, used […]
For the first time, this year, me and three colleagues of mine participated to the Google Hash Code challenge; this year the problem was open to Europe, Middle East and Africa: in the end 4856 teams has participated to the game. We knew we didn’t have too many chances to get a good result due […]
It’s quite common and easy to use legacy code from within a piece of managed code but sometimes it comes in handy to call managed code from legacy code. To do so, we’ll write a C++ class which will actually use a managed object but that has a plain, legacy interface. The first thing to do is to […]
The easiest, fastest and painless solution is using a pre-compiled package: some apt-get install stuff after added the proper repo of the distro generally does the trick. But fortunately GCC/G++ are always in progress tools and it is useful to be able to align to the most recent version autonomously.
For my Odroid U3 I wanted a default startup into a console login session to have the maximum amount of resources available but I also wanted a VNC Server configured so that I can start (and stop) a graphical session whenever I want.
The MVVM design pattern was developed by Microsoft as a variation of the Martin Fowler’s Presentation Model pattern – we’ll copy/paste here the short form of the motivations behind this pattern (the long form is available in the link above): It provides separation of concerns. It is a natural pattern for XAML platforms. It enables a developer-designer workflow. It increases application […]
Visual Studio has been recently rewritten in WPF and MEF: its Main Window has been heavily customized – the standard Non-Client Area has been removed and all the usual Windows features (caption, buttons, scrollbars, …) have been redefined. One of the cool features is the window border, which is “context-sensitive” (uses different colors depending on the […]