Menu

Vidar_Hasfjord

Vidar Hasfjord (vattila) — OWLNext Administrator and Developer

I am an independent software developer with 25+ years of experience with C++ and OWLNext. I develop and maintain software for the civil engineering sector, in particular for road design and earthwork calculation (Lima VVA). The software has been in development since 1994 and relies in large parts on OWLNext. My interest in OWLNext is based on supporting my software and keeping the code base modern and up-to-date with developments in C++ and the Windows operating system.


OWLNext Contributions

My contributions to OWLNext maintenance started back in the late 1990s by having to eliminate a bug in TFileName. I got more heavily involved around 2003, when the Windows XP DEP feature barred 32-bit OWL applications from running. For the 6.20 release, I contributed the necessary DEP-related changes to the thunking mechanism at the core of OWLNext, and I have since updated the code for native 64-bit support.

For the 6.30 release, I made major improvements to the OWLNext build system, including automatic version detection and the implementation of the new library naming convention. For the 6.32 release, I contributed the new Dialog Data Transfer framework to replace the deprecated transfer buffers, and the Safe Transfer Buffers extension for legacy code. In addition, I added support for standard strings in the OWLNext API. For the 6.40 release, I implemented a substantial overhaul of the Windows message dispatch for type-safe 64-bit compatible message handlers, based on my experimental Owlet branch. The 7-series includes further improvements based on this work. I am currently using version 8 (the current trunk) as the base for the Long-Term Support version of Lima VVA, while the latest development version of Lima VVA now uses Owlet.

Over time, I have spent much effort on refactoring and enhancing our build tool OWLMaker, improving the user interface and rewriting the code in modern C++ style using the latest OWLNext version in development. In particular, all the dialogs are now using the Dialog Data Transfer feature introduced in 6.32. In 2018, I enhanced OWLMaker to launch the build process asynchronously with multiple builds executing at the same time (see "Asynchronous OWLMaker" [feature-requests:#124]).

I have also added many other minor enhancements and fixed numerous bugs in the OWLNext source code. I have added examples and test cases for new features and bug-fixes (including my simple dice game Razee). Since becoming an active developer and project administrator in July 2010, I have made thousands of revisions on the trunk of the code repository, release branches, Owlet and OWLMaker. In parallel, I have been heavily involved in the development and maintenance of our project wiki and supporting users in our discussion forum.


Related

Discussion: OWLNext Donations
Feature Requests: #124
Wiki: 64-bit_OWLNext
Wiki: Dialog_Data_Transfer
Wiki: History
Wiki: Main_Page
Wiki: OWLMaker
Wiki: OWLNext_and_Data_Execution_Prevention
Wiki: OWLNext_naming_convention
Wiki: Safe_Transfer_Buffers
Wiki: Strings_in_OWLNext
Wiki: Windows_Message_Dispatch_in_OWLNext