Scraping content from websites can be a useful tool for gathering information or automating certain tasks. In C#, there are several libraries available that can help make this process easier. In this blog post, we will cover how to use the HtmlAgilityPack library to scrape content from websites in C#.…
-
-
Scraping dynamic content from websites has become an important task in data collection and analysis. With the advancements in web technologies, websites are now using dynamic content that cannot be easily scraped with traditional web scraping techniques. In this blog post, we will explore how to scrape dynamic content from…
-
Two good news: file I/O is unit-testable, and it is surprisingly easy to do. Let’s see how it works! A software no-one asked for First, we need a piece of software that deals with files and that has to be unit-tested. The TestableIO project does the following: given a directory,…
-
If you encounter the following error when pulling a repository in SourceTree: VirtualAlloc pointer is null, Win32 error 487 it is due to to the Cygwin system failing to allocate a 5 MB large chunk of memory for its heap at the fixed address 0x68570000, while only a hole 2.5…
-
Some might say that testing private methods should be avoided because it means not testing the contract, that is the interface implemented by the class, but the internal implementation of the class itself. Still, not all classes were designed with testability in mind, so real life compromises sometimes demand such…
-
In the “2016 .NET Community Report” just released by Telerik, the answers to the question “What technology would you choose if building for Windows Desktop?” were as follows: So roughly half of new desktop developments would be based on Windows Forms, a technology declared dead multiple times. The Telerik report…
-
It is not easy to monitor how our code behaves on a vast array of different machines. A myriad of different configurations can lead to errors that are difficult to reproduce and even more difficult to anticipate. And when the customer calls complaining about a crash, provided information on what…
-
The AltaLux plugin for IrfanView is now open-source (here is the GitHub link) and it is worth analyzing the different methods used for parallelizing the computational kernel. The filter factory, contained in the CAltaLuxFilterFactory files, can create one of four possible instance types (actually there’s a fifth one that you…
-
Dependency Injection (DI) and Inversion of Control (IoC) are popular patterns in modern software development that reduce coupling among modules and so improve the testability of the sames. As this article is not meant to be an introduction to DI / IoC, please refer to numerous introductory articles on the…
-
I have just released the new version of the AltaLux plug-in for IrfanView on GitHub, clone it now! There are some good reasons for taking a peek: having a look at how to write a plugin for IrfanView discovering how the AltaLux algorithm works comparing different ways to divide the…