• Web

    Joomla! Contact form and SMTP mail servers

    The Contact form in Joomla! uses the mail server settings to send the contact request email to the site administrator. However, when using SMTP servers (I’ve tried both Yahoo! and GMail SMTP servers), it does not work, as the email address of the sender is not recognized by the SMTP…

  • Software

    AltaLux: new major release

    AltaLux is an image processing technology that can significantly enhance the quality of images and videos with poor lighting conditions. AltaLux/Demo is a Windows sample application that lets you enhance the quality of JPEG images for free (download it! from the download area). For even better usability, I strongly recommend…

  • Multi-thread

    Multi-thread loops with Intel TBB

    A new article about using Intel TBB is here. It contains examples using C++ lambdas and joining multi-threaded loops with SIMD code In this article we will transform a plain C loop into a multi-threaded version using Intel Thread Building Blocks library (TBB). Here is the loop to transform: {CODE…

  • Software

    About me

    Professional profile Engineering Leader | Cloud Platforms, Robotics & Applied Machine Learning Software engineering leader with more than 20 years of experience and over a decade managing teams. Led distributed engineering teams of up to 14 engineers across AWS and Amazon Robotics, combining organizational leadership with hands-on architecture and development.…

  • SIMD on x64/x86

    SSE2 Intrinsics: double-precision and integer SIMD programming

    SSE2 extends the original SSE instruction set with support for double-precision floating-point arithmetic and a wider set of integer SIMD operations. The original SSE instructions operate mainly on four 32-bit single-precision floating-point values stored in a 128-bit XMM register. SSE2 adds the ability to operate on two 64-bit double-precision floating-point…

  • SIMD on x64/x86

    MMX Intrinsics: Packed Integer SIMD with __m64

    MMX was Intel’s first widely used SIMD extension for x86 processors. It introduced packed integer operations, allowing one instruction to process multiple small integer values at the same time. MMX is mostly historical today, but it is still useful to understand older multimedia, image-processing, audio, codec, and game code. Many…