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 […]
Author: Simone
Kerberos
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 […]
WPF and handles
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 […]
Google Hashcode 2018
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 […]
Interop between managed and legacy code
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 […]
How to build/install gcc/g++ from sources on a Raspberry Pi
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.
Installing a VNC server on Linux (Ubuntu Mate)
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.
View-first and ViewModel-first
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 […]
Glow Window effect
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 […]
Click and Double Click on ListView items
Sometimes in WPF the easiest things seem to be the hardest to obtain… if you want to get them the clean way. The ListView object is a great, flexible control available in WPF and gives you something more than the old, good ListBox. In particular, the ListView is able to render items in “grid mode” using the View property. The View property can be instantiated with a GridView object in which […]