<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Juan Cruz Viotti</title>
    <description>Personal blog</description>
    <language>en-us</language>
    <category>Technology</category>
    <link>https://www.jviotti.com</link>
    <image>
      <url>https://www.jviotti.com/me.webp</url>
      <title>A picture of Juan Cruz Viotti</title>
    </image>
    <atom:link href="https://www.jviotti.com/feed.xml" rel="self" type="application/rss+xml" />
    <lastBuildDate>Mon, 04 May 2026 22:35:58 +0000</lastBuildDate>
    <pubDate>Mon, 04 May 2026 22:35:58 +0000</pubDate>
    <item>
      <title>Studying C++ generated assembly using Xcode Instruments</title>
      <description>A short guide to studying the assembly code generated by AppleClang for C++ projects using Xcode Instruments</description>
      <pubDate>Fri, 21 Mar 2025 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2025/03/21/studying-cpp-generated-assembly-using-xcode-instruments.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2025/03/21/studying-cpp-generated-assembly-using-xcode-instruments.html</guid>
    </item>
    <item>
      <title>Running the Intel VTune Profiler on Fedora</title>
      <description>This article explains how to install and configure the Intel VTune Profiler on Fedora to use advanced analysis such as the Memory Access tool</description>
      <pubDate>Tue, 08 Oct 2024 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2024/10/08/running-the-intel-vtune-profiler-on-fedora.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2024/10/08/running-the-intel-vtune-profiler-on-fedora.html</guid>
    </item>
    <item>
      <title>Debugging MSVC C++ crashes from the terminal using CDB</title>
      <description>A high-level introduction to using the CDB command-line debugger in the context of C++ programs</description>
      <pubDate>Thu, 09 May 2024 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2024/05/09/debugging-msvc-cpp-crashes-from-the-terminal-using-cdb.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2024/05/09/debugging-msvc-cpp-crashes-from-the-terminal-using-cdb.html</guid>
    </item>
    <item>
      <title>Using Xcode Instruments for C++ CPU profiling</title>
      <description>This article is an overview of how to use Xcode Instruments along its `xctrace` command-line tool companion to perform CPU profiling of C++ programs</description>
      <pubDate>Mon, 29 Jan 2024 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2024/01/29/using-xcode-instruments-for-cpp-cpu-profiling.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2024/01/29/using-xcode-instruments-for-cpp-cpu-profiling.html</guid>
    </item>
    <item>
      <title>Is Objective-C `BOOL` a boolean type? It depends</title>
      <description>This article describes how the Objective-C `BOOL` type is differently defined on Apple platforms, and how these differences are defined in LLVM</description>
      <pubDate>Fri, 05 Jan 2024 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2024/01/05/is-objective-c-bool-a-boolean-type-it-depends.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2024/01/05/is-objective-c-bool-a-boolean-type-it-depends.html</guid>
    </item>
    <item>
      <title>Understanding Objective-C by transpiling it to C++</title>
      <description>This article describes how to transpile Objective-C to C++, and use that approach to gain understanding of the Objective-C runtime</description>
      <pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2023/12/01/understanding-objective-c-by-transpiling-it-to-cpp.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2023/12/01/understanding-objective-c-by-transpiling-it-to-cpp.html</guid>
    </item>
    <item>
      <title>Spoofing Objective-C return values on Apple Silicon using LLDB</title>
      <description>This article describes how LLDB can be used to mutate return values of Objective-C methods and functions</description>
      <pubDate>Wed, 22 Nov 2023 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2023/11/22/spoofing-objective-c-return-values-on-apple-silicon-using-lldb.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2023/11/22/spoofing-objective-c-return-values-on-apple-silicon-using-lldb.html</guid>
    </item>
    <item>
      <title>Exploring macOS private frameworks</title>
      <description>This article describes a series of approaches for reverse engineering macOS private frameworks</description>
      <pubDate>Mon, 20 Nov 2023 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2023/11/20/exploring-macos-private-frameworks.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2023/11/20/exploring-macos-private-frameworks.html</guid>
    </item>
    <item>
      <title>Building Objective-C iOS apps with CMake</title>
      <description>This article describes how to build iOS applications using Objective-C with CMake instead of plain Xcode</description>
      <pubDate>Wed, 21 Dec 2022 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2022/12/21/building-objective-c-ios-apps-with-cmake.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2022/12/21/building-objective-c-ios-apps-with-cmake.html</guid>
    </item>
    <item>
      <title>Writing Objective-C iOS apps without Storyboards</title>
      <description>This article explores how to write iOS applications with Objective-C without making use of traditional Storyboards</description>
      <pubDate>Wed, 14 Dec 2022 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2022/12/14/writing-objective-c-ios-apps-without-storyboards.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2022/12/14/writing-objective-c-ios-apps-without-storyboards.html</guid>
    </item>
    <item>
      <title>Launching macOS applications from the command-line</title>
      <description>This article describes in detail how to launch macOS application bundles from the command line</description>
      <pubDate>Mon, 28 Nov 2022 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2022/11/28/launching-macos-applications-from-the-command-line.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2022/11/28/launching-macos-applications-from-the-command-line.html</guid>
    </item>
    <item>
      <title>Performance testing through proportional traces</title>
      <description>This article describes a novel system-independent approach to performance testing using tracing</description>
      <pubDate>Wed, 07 Sep 2022 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2022/09/07/performance-testing-through-proportional-traces.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2022/09/07/performance-testing-through-proportional-traces.html</guid>
    </item>
    <item>
      <title>Debugging Electron.js native crashes on GNU/Linux</title>
      <description>This article describes in detail how to symbolicalize Electron.js native crashes on GNU/Linux</description>
      <pubDate>Mon, 11 Jul 2022 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2022/07/11/debugging-electronjs-native-crashes-on-linux.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2022/07/11/debugging-electronjs-native-crashes-on-linux.html</guid>
    </item>
    <item>
      <title>Debugging the C++ standard library on macOS</title>
      <description>This article describes how to use LLDB on C++ standard library code on macOS</description>
      <pubDate>Thu, 05 May 2022 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2022/05/05/debugging-the-cxx-standard-library-on-macos.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2022/05/05/debugging-the-cxx-standard-library-on-macos.html</guid>
    </item>
    <item>
      <title>Attaching LLDB to production Electron.js builds on macOS</title>
      <description>This article describes how to use LLDB to debug production builds of Electron.js on macOS</description>
      <pubDate>Thu, 24 Feb 2022 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2022/02/24/attaching-lldb-to-production-electron-builds-on-macos.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2022/02/24/attaching-lldb-to-production-electron-builds-on-macos.html</guid>
    </item>
    <item>
      <title>Emitting Signposts to Instruments on macOS using C++</title>
      <description>This article describes how to use the macOS Signposts API from C++ applications</description>
      <pubDate>Mon, 21 Feb 2022 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2022/02/21/emitting-signposts-to-instruments-on-macos-using-cpp.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2022/02/21/emitting-signposts-to-instruments-on-macos-using-cpp.html</guid>
    </item>
    <item>
      <title>Debugging Electron.js native crashes on macOS</title>
      <description>This article describes in detail how to symbolicalize Electron.js native crashes on macOS</description>
      <pubDate>Wed, 08 Dec 2021 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2021/12/08/debugging-electronjs-native-crashes-on-macos.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2021/12/08/debugging-electronjs-native-crashes-on-macos.html</guid>
    </item>
    <item>
      <title>Employers should not own open-source contributions</title>
      <description>This article makes a case on why employers should not attempt to own the IP of the contributions of their employees</description>
      <pubDate>Fri, 26 Nov 2021 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2021/11/26/employers-should-not-own-open-source-contributions.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2021/11/26/employers-should-not-own-open-source-contributions.html</guid>
    </item>
    <item>
      <title>A deep dive on macOS universal binaries</title>
      <description>This article describes in detail how Mach-O universal binaries work</description>
      <pubDate>Fri, 23 Jul 2021 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2021/07/23/a-deep-dive-on-macos-universal-binaries.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2021/07/23/a-deep-dive-on-macos-universal-binaries.html</guid>
    </item>
    <item>
      <title>Speeding up Windows Electron.js builds with SCCACHE</title>
      <description>This article describes the back story behind a Chromium CL to restore SCCACHE support on Windows</description>
      <pubDate>Wed, 07 Jul 2021 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2021/07/07/speeding-up-windows-electron-builds-with-sccache.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2021/07/07/speeding-up-windows-electron-builds-with-sccache.html</guid>
    </item>
    <item>
      <title>Building Electron.js on Windows using the Visual Studio Build Tools</title>
      <description>This article describes how to build Electron.js on Windows using only the Visual Studio Build Tools offering</description>
      <pubDate>Mon, 05 Jul 2021 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2021/07/05/building-electron-on-windows-using-the-visual-studio-build-tools.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2021/07/05/building-electron-on-windows-using-the-visual-studio-build-tools.html</guid>
    </item>
    <item>
      <title>Evolutive Integration Testing of HTTP APIs with OpenAPI</title>
      <description>This article describes an experimental approach to describing HTTP API integration tests</description>
      <pubDate>Tue, 30 Oct 2018 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2018/10/30/evolutive-integration-testing-of-http-apis-with-openapi.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2018/10/30/evolutive-integration-testing-of-http-apis-with-openapi.html</guid>
    </item>
    <item>
      <title>Easily switch between many NPM accounts</title>
      <description>This article describes a trick for easily switching between multiple NPM accounts on the terminal</description>
      <pubDate>Wed, 28 Mar 2018 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2018/03/28/easily-switch-between-many-npm-accounts.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2018/03/28/easily-switch-between-many-npm-accounts.html</guid>
    </item>
    <item>
      <title>An introduction to Ada's simple numeric types</title>
      <description>This article introduces the numeric types available in Ada 2012</description>
      <pubDate>Tue, 05 Dec 2017 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2017/12/05/an-introduction-to-adas-simple-numeric-types.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2017/12/05/an-introduction-to-adas-simple-numeric-types.html</guid>
    </item>
    <item>
      <title>An overview of arrays in Ada 2012</title>
      <description>This article is an overview of array types in Ada 2012</description>
      <pubDate>Sat, 18 Nov 2017 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2017/11/18/an-overview-of-arrays-in-ada-2012.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2017/11/18/an-overview-of-arrays-in-ada-2012.html</guid>
    </item>
    <item>
      <title>How to manually package an Electron app for Windows</title>
      <description>This article describes how to package an Electron application for Windows without additional tooling</description>
      <pubDate>Fri, 09 Dec 2016 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2016/12/09/how-to-manually-package-an-electron-app-for-windows.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2016/12/09/how-to-manually-package-an-electron-app-for-windows.html</guid>
    </item>
    <item>
      <title>How to code-sign OS X Electron apps in Travis CI</title>
      <description>This article discusses how to code-sign OS X Electron apps using Travis CI</description>
      <pubDate>Wed, 16 Mar 2016 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2016/03/16/how-to-code-sign-os-x-electron-apps-in-travis-ci.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2016/03/16/how-to-code-sign-os-x-electron-apps-in-travis-ci.html</guid>
    </item>
    <item>
      <title>Fixing a baffling issue when running Electron as root in GNU/Linux</title>
      <description>This article discusses a Chromium sandboxing permission error when executing an Electron application as root on GNU/Linux</description>
      <pubDate>Fri, 19 Feb 2016 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2016/02/19/fixing-a-baffling-issue-when-running-electron-as-root-in-gnu-linux.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2016/02/19/fixing-a-baffling-issue-when-running-electron-as-root-in-gnu-linux.html</guid>
    </item>
    <item>
      <title>Debugging Electron to run shell scripts in a packaged application</title>
      <description>This article discusses a file permissions error on Electron that can affect spawning, and an upstream fix for it</description>
      <pubDate>Wed, 17 Feb 2016 00:00:00 +0000</pubDate>
      <link>https://www.jviotti.com/2016/02/17/debugging-electron-to-run-shell-scripts-in-a-packaged-application.html</link>
      <guid isPermaLink="true">https://www.jviotti.com/2016/02/17/debugging-electron-to-run-shell-scripts-in-a-packaged-application.html</guid>
    </item>
  </channel>
</rss>
