home.social

#c_ — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #c_, aggregated by home.social.

  1. Addressing plans for BassBoom and MediaBoom v1.0

    Since BassBoom was released, it went through several iterations of improvements, including library updates and new features, such as the radio station playback support. Over time, we needed to extend support for more music extensions other than the MPEG ones, such as Advanced Audio Codec (AAC) files and wave files (WAV), so we were plotting a plan to create a separate experimental branch of BassBoom before we eventually called it MediaBoom, finally separated as a separate app.

    The two versions, BassBoom v1.0 and MediaBoom v1.0, are currently being worked on as we focus on the more essential things to make sure that we provide you with the best BassBoom and MediaBoom releases. We will conduct thorough checks for every single line of code written in both projects. Currently, MediaBoom’s repository didn’t see any sign that the real development had started, beyond just experimental code that wrapped around libmpv.

    Of course, all this planning and execution takes time, but when we take time, we do our due diligence to ensure that BassBoom v1.0 and MediaBoom v1.0 get released as soon as they’re ready.

    Currently, there is no ETA as to when those two launches actually happen, but we will be more transparent about those two projects as soon as we start development on them.

    #Net #bassboom #C_ #csharp #dotnet #MediaBoom #news #Tech #Technology #update

  2. Addressing plans for BassBoom and MediaBoom v1.0

    Since BassBoom was released, it went through several iterations of improvements, including library updates and new features, such as the radio station playback support. Over time, we needed to extend support for more music extensions other than the MPEG ones, such as Advanced Audio Codec (AAC) files and wave files (WAV), so we were plotting a plan to create a separate experimental branch of BassBoom before we eventually called it MediaBoom, finally separated as a separate app.

    The two versions, BassBoom v1.0 and MediaBoom v1.0, are currently being worked on as we focus on the more essential things to make sure that we provide you with the best BassBoom and MediaBoom releases. We will conduct thorough checks for every single line of code written in both projects. Currently, MediaBoom’s repository didn’t see any sign that the real development had started, beyond just experimental code that wrapped around libmpv.

    Of course, all this planning and execution takes time, but when we take time, we do our due diligence to ensure that BassBoom v1.0 and MediaBoom v1.0 get released as soon as they’re ready.

    Currently, there is no ETA as to when those two launches actually happen, but we will be more transparent about those two projects as soon as we start development on them.

    #Net #bassboom #C_ #csharp #dotnet #MediaBoom #news #Tech #Technology #update

  3. Addressing plans for BassBoom and MediaBoom v1.0

    Since BassBoom was released, it went through several iterations of improvements, including library updates and new features, such as the radio station playback support. Over time, we needed to extend support for more music extensions other than the MPEG ones, such as Advanced Audio Codec (AAC) files and wave files (WAV), so we were plotting a plan to create a separate experimental branch of BassBoom before we eventually called it MediaBoom, finally separated as a separate app.

    The two versions, BassBoom v1.0 and MediaBoom v1.0, are currently being worked on as we focus on the more essential things to make sure that we provide you with the best BassBoom and MediaBoom releases. We will conduct thorough checks for every single line of code written in both projects. Currently, MediaBoom’s repository didn’t see any sign that the real development had started, beyond just experimental code that wrapped around libmpv.

    Of course, all this planning and execution takes time, but when we take time, we do our due diligence to ensure that BassBoom v1.0 and MediaBoom v1.0 get released as soon as they’re ready.

    Currently, there is no ETA as to when those two launches actually happen, but we will be more transparent about those two projects as soon as we start development on them.

    Photo by Catherine Kalmykova on Unsplash

    #Net #bassboom #C_ #csharp #dotnet #MediaBoom #news #Tech #Technology #update

  4. Addressing plans for BassBoom and MediaBoom v1.0

    Since BassBoom was released, it went through several iterations of improvements, including library updates and new features, such as the radio station playback support. Over time, we needed to extend support for more music extensions other than the MPEG ones, such as Advanced Audio Codec (AAC) files and wave files (WAV), so we were plotting a plan to create a separate experimental branch of BassBoom before we eventually called it MediaBoom, finally separated as a separate app.

    The two versions, BassBoom v1.0 and MediaBoom v1.0, are currently being worked on as we focus on the more essential things to make sure that we provide you with the best BassBoom and MediaBoom releases. We will conduct thorough checks for every single line of code written in both projects. Currently, MediaBoom’s repository didn’t see any sign that the real development had started, beyond just experimental code that wrapped around libmpv.

    Of course, all this planning and execution takes time, but when we take time, we do our due diligence to ensure that BassBoom v1.0 and MediaBoom v1.0 get released as soon as they’re ready.

    Currently, there is no ETA as to when those two launches actually happen, but we will be more transparent about those two projects as soon as we start development on them.

    #Net #bassboom #C_ #csharp #dotnet #MediaBoom #news #Tech #Technology #update

  5. Addressing plans for BassBoom and MediaBoom v1.0

    Since BassBoom was released, it went through several iterations of improvements, including library updates and new features, such as the radio station playback support. Over time, we needed to extend support for more music extensions other than the MPEG ones, such as Advanced Audio Codec (AAC) files and wave files (WAV), so we were plotting a plan to create a separate experimental branch of BassBoom before we eventually called it MediaBoom, finally separated as a separate app.

    The two versions, BassBoom v1.0 and MediaBoom v1.0, are currently being worked on as we focus on the more essential things to make sure that we provide you with the best BassBoom and MediaBoom releases. We will conduct thorough checks for every single line of code written in both projects. Currently, MediaBoom’s repository didn’t see any sign that the real development had started, beyond just experimental code that wrapped around libmpv.

    Of course, all this planning and execution takes time, but when we take time, we do our due diligence to ensure that BassBoom v1.0 and MediaBoom v1.0 get released as soon as they’re ready.

    Currently, there is no ETA as to when those two launches actually happen, but we will be more transparent about those two projects as soon as we start development on them.

    #Net #bassboom #C_ #csharp #dotnet #MediaBoom #news #Tech #Technology #update

  6. Get ready for .NET Conf 2025 on November 11th!

    As we are approaching to the final release of .NET 10.0, a conference for .NET developers has been finally set to be scheduled for November 11th, and this event lasts three days up to November 13th. This conference talks about what’s new in .NET 10.0 and Visual Studio 2026, where they both introduce new features and improvements to enhance your developer experience.

    Joining the conference is free, and you can mark the schedule on your calendar using the below button.

    .NET Conf

    The below main events will happen in this conference:

    • November 11th (8 AM to 6 PM PST): This is a big day for .NET developers where .NET 10.0 and Visual Studio 2026 will be showcased for new features and improvements, as well as the Code Party that you can win some great prizes.
    • November 12th (9 AM to 5 PM PST): This showcases a deep dive into .NET, Azure, and AI.
    • November 13th (5 AM to 5 PM PST): This is a community event with speakers around the world.

    After the main events, there comes two additional days, which are the Student Zone on November 14th that is a beginner-friendly virtual event where experts teach you how to build awesome projects using C# and .NET, and November 13th to 15th where the community events are held.

    There will also be giveaways and digital swags where you receive them with many valuable perks, such as digital goods worth over $5,500, like high-value software licenses and other goodies.

    The speakers in this conference event will be (in alphabetical order):

    • Allie Barry
    • Brady Gaster
    • Cathy Sullivan
    • Damian Edwards
    • David Fowler
    • Gaurav Seth
    • Maddy Montaquila
    • Mads Kristensen
    • Maria Naggaga Nakanwagi
    • Mike Kistler
    • Rachel King
    • Safia Abdalla
    • Scott Hanselman

    Join the .NET Conf for free!

    #Net #Net10 #Net100 #NETConf #NETConf2025 #C_ #dotnet #F_ #fsharp #news #Tech #Technology #update #VB

  7. Get ready for .NET Conf 2025 on November 11th!

    As we are approaching to the final release of .NET 10.0, a conference for .NET developers has been finally set to be scheduled for November 11th, and this event lasts three days up to November 13th. This conference talks about what’s new in .NET 10.0 and Visual Studio 2026, where they both introduce new features and improvements to enhance your developer experience.

    Joining the conference is free, and you can mark the schedule on your calendar using the below button.

    .NET Conf

    The below main events will happen in this conference:

    • November 11th (8 AM to 6 PM PST): This is a big day for .NET developers where .NET 10.0 and Visual Studio 2026 will be showcased for new features and improvements, as well as the Code Party that you can win some great prizes.
    • November 12th (9 AM to 5 PM PST): This showcases a deep dive into .NET, Azure, and AI.
    • November 13th (5 AM to 5 PM PST): This is a community event with speakers around the world.

    After the main events, there comes two additional days, which are the Student Zone on November 14th that is a beginner-friendly virtual event where experts teach you how to build awesome projects using C# and .NET, and November 13th to 15th where the community events are held.

    There will also be giveaways and digital swags where you receive them with many valuable perks, such as digital goods worth over $5,500, like high-value software licenses and other goodies.

    The speakers in this conference event will be (in alphabetical order):

    • Allie Barry
    • Brady Gaster
    • Cathy Sullivan
    • Damian Edwards
    • David Fowler
    • Gaurav Seth
    • Maddy Montaquila
    • Mads Kristensen
    • Maria Naggaga Nakanwagi
    • Mike Kistler
    • Rachel King
    • Safia Abdalla
    • Scott Hanselman

    Join the .NET Conf for free!

    #Net #Net10 #Net100 #NETConf #NETConf2025 #C_ #dotnet #F_ #fsharp #news #Tech #Technology #update #VB

  8. Get ready for .NET Conf 2025 on November 11th!

    As we are approaching to the final release of .NET 10.0, a conference for .NET developers has been finally set to be scheduled for November 11th, and this event lasts three days up to November 13th. This conference talks about what’s new in .NET 10.0 and Visual Studio 2026, where they both introduce new features and improvements to enhance your developer experience.

    Joining the conference is free, and you can mark the schedule on your calendar using the below button.

    .NET Conf

    The below main events will happen in this conference:

    • November 11th (8 AM to 6 PM PST): This is a big day for .NET developers where .NET 10.0 and Visual Studio 2026 will be showcased for new features and improvements, as well as the Code Party that you can win some great prizes.
    • November 12th (9 AM to 5 PM PST): This showcases a deep dive into .NET, Azure, and AI.
    • November 13th (5 AM to 5 PM PST): This is a community event with speakers around the world.

    After the main events, there comes two additional days, which are the Student Zone on November 14th that is a beginner-friendly virtual event where experts teach you how to build awesome projects using C# and .NET, and November 13th to 15th where the community events are held.

    There will also be giveaways and digital swags where you receive them with many valuable perks, such as digital goods worth over $5,500, like high-value software licenses and other goodies.

    The speakers in this conference event will be (in alphabetical order):

    • Allie Barry
    • Brady Gaster
    • Cathy Sullivan
    • Damian Edwards
    • David Fowler
    • Gaurav Seth
    • Maddy Montaquila
    • Mads Kristensen
    • Maria Naggaga Nakanwagi
    • Mike Kistler
    • Rachel King
    • Safia Abdalla
    • Scott Hanselman

    Join the .NET Conf for free!

    #Net #Net10 #Net100 #NETConf #NETConf2025 #C_ #dotnet #F_ #fsharp #news #Tech #Technology #update #VB

  9. Get ready for .NET Conf 2025 on November 11th!

    As we are approaching to the final release of .NET 10.0, a conference for .NET developers has been finally set to be scheduled for November 11th, and this event lasts three days up to November 13th. This conference talks about what’s new in .NET 10.0 and Visual Studio 2026, where they both introduce new features and improvements to enhance your developer experience.

    Joining the conference is free, and you can mark the schedule on your calendar using the below button.

    .NET Conf

    The below main events will happen in this conference:

    • November 11th (8 AM to 6 PM PST): This is a big day for .NET developers where .NET 10.0 and Visual Studio 2026 will be showcased for new features and improvements, as well as the Code Party that you can win some great prizes.
    • November 12th (9 AM to 5 PM PST): This showcases a deep dive into .NET, Azure, and AI.
    • November 13th (5 AM to 5 PM PST): This is a community event with speakers around the world.

    After the main events, there comes two additional days, which are the Student Zone on November 14th that is a beginner-friendly virtual event where experts teach you how to build awesome projects using C# and .NET, and November 13th to 15th where the community events are held.

    There will also be giveaways and digital swags where you receive them with many valuable perks, such as digital goods worth over $5,500, like high-value software licenses and other goodies.

    The speakers in this conference event will be (in alphabetical order):

    • Allie Barry
    • Brady Gaster
    • Cathy Sullivan
    • Damian Edwards
    • David Fowler
    • Gaurav Seth
    • Maddy Montaquila
    • Mads Kristensen
    • Maria Naggaga Nakanwagi
    • Mike Kistler
    • Rachel King
    • Safia Abdalla
    • Scott Hanselman

    Join the .NET Conf for free!

    #Net #Net10 #Net100 #NETConf #NETConf2025 #C_ #dotnet #F_ #fsharp #news #Tech #Technology #update #VB

  10. Get ready for .NET Conf 2025 on November 11th!

    As we are approaching to the final release of .NET 10.0, a conference for .NET developers has been finally set to be scheduled for November 11th, and this event lasts three days up to November 13th. This conference talks about what’s new in .NET 10.0 and Visual Studio 2026, where they both introduce new features and improvements to enhance your developer experience.

    Joining the conference is free, and you can mark the schedule on your calendar using the below button.

    .NET Conf

    The below main events will happen in this conference:

    • November 11th (8 AM to 6 PM PST): This is a big day for .NET developers where .NET 10.0 and Visual Studio 2026 will be showcased for new features and improvements, as well as the Code Party that you can win some great prizes.
    • November 12th (9 AM to 5 PM PST): This showcases a deep dive into .NET, Azure, and AI.
    • November 13th (5 AM to 5 PM PST): This is a community event with speakers around the world.

    After the main events, there comes two additional days, which are the Student Zone on November 14th that is a beginner-friendly virtual event where experts teach you how to build awesome projects using C# and .NET, and November 13th to 15th where the community events are held.

    There will also be giveaways and digital swags where you receive them with many valuable perks, such as digital goods worth over $5,500, like high-value software licenses and other goodies.

    The speakers in this conference event will be (in alphabetical order):

    • Allie Barry
    • Brady Gaster
    • Cathy Sullivan
    • Damian Edwards
    • David Fowler
    • Gaurav Seth
    • Maddy Montaquila
    • Mads Kristensen
    • Maria Naggaga Nakanwagi
    • Mike Kistler
    • Rachel King
    • Safia Abdalla
    • Scott Hanselman

    Join the .NET Conf for free!

    #Net #Net10 #Net100 #NETConf #NETConf2025 #C_ #dotnet #F_ #fsharp #news #Tech #Technology #update #VB

  11. LocaleStation’s Deprecation

    LocaleStation was released as part of the ongoing effort back in June 2025 to give all our libraries a chance to be translatable to your native language. This kind of effort was studied under the assumption that we’d achieve simpler and faster localization. However, our expectations fell short when we had discovered the massive first startup performance impact on Windows systems.

    This performance impact was especially noticeable on Windows systems where applications like Nitrocid would suffer from longer startup times in both the main application entry point and the addon loading point. This slow down is considered to be unacceptable, especially when an “unrelated” feature would cause this slow down. This is because of the Windows Defender’s Antimalware Service Executable process taking up a majority of the CPU cycles in analyzing the localization files in the first JIT compilation of all libraries and applications that depend on LocaleStation’s generated files.

    As a result, we’ve decided to shut down LocaleStation as a library, and convert all the existing JSON files, with appropriate modifications, to a standard culture-specific resources file that is managed by .NET.

    With Terminaux, we’ve conducted an experimental branch based on the Terminaux 8.0.0 branch that can be found in the x/exp/v8.0.x-loc-resx-poc branch. We’ve used an internal program that converts LocaleStation-compatible JSON files that you can see like below:

    {    "lang": "eng",    "name": "English",    "cultures": [ "en-US", "en-GB" ],    "locs": [        {            "loc": "TEXT_HELLO_WORLD",            "text": "Hello world!"        },        {            "loc": "TEXT_HI",            "text": "Hi!"        }    ]}

    …to the .resx format as in below:

    <?xml version="1.0" encoding="utf-8"?><root>    <!--     Microsoft ResX Schema     Version 2.0    The primary goals of this format is to allow a simple XML format     that is mostly human readable. The generation and parsing of the     various data types are done through the TypeConverter classes     associated with the data types.    Example:    ... ado.net/XML headers & schema ...    <resheader name="resmimetype">text/microsoft-resx</resheader>    <resheader name="version">2.0</resheader>    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">        <value>[base64 mime encoded serialized .NET Framework object]</value>    </data>    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>        <comment>This is a comment</comment>    </data>    There are any number of "resheader" rows that contain simple     name/value pairs.    Each data row contains a name, and value. The row also contains a     type or mimetype. Type corresponds to a .NET class that support     text/value conversion through the TypeConverter architecture.     Classes that don't support this are serialized and stored with the     mimetype set.    The mimetype is used for serialized objects, and tells the     ResXResourceReader how to depersist the object. This is currently not     extensible. For a given mimetype the value must be set accordingly:    Note - application/x-microsoft.net.object.binary.base64 is the format     that the ResXResourceWriter will generate, however the reader can     read any of the formats listed below.    mimetype: application/x-microsoft.net.object.binary.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.soap.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.bytearray.base64    value   : The object must be serialized into a byte array             : using a System.ComponentModel.TypeConverter            : and then encoded with base64 encoding.    -->    <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />    <xsd:element name="root" msdata:IsDataSet="true">        <xsd:complexType>        <xsd:choice maxOccurs="unbounded">            <xsd:element name="metadata">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" />                </xsd:sequence>                <xsd:attribute name="name" use="required" type="xsd:string" />                <xsd:attribute name="type" type="xsd:string" />                <xsd:attribute name="mimetype" type="xsd:string" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="assembly">            <xsd:complexType>                <xsd:attribute name="alias" type="xsd:string" />                <xsd:attribute name="name" type="xsd:string" />            </xsd:complexType>            </xsd:element>            <xsd:element name="data">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />                <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />                <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="resheader">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" />            </xsd:complexType>            </xsd:element>        </xsd:choice>        </xsd:complexType>    </xsd:element>    </xsd:schema>    <resheader name="resmimetype">    <value>text/microsoft-resx</value>    </resheader>    <resheader name="version">    <value>2.0</value>    </resheader>    <resheader name="reader">    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>    <resheader name="writer">    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>      <data name="NKS_COMMON_ANYKEY" xml:space="preserve">    <value>Press any key to continue...</value>  </data>  <data name="NKS_KERNEL_NOAPMSIMULATION" xml:space="preserve">    <value>It&apos;s now safe to turn off your computer.</value>  </data>  <data name="NKS_KERNEL_ENVERROR" xml:space="preserve">    <value>Kernel environment error:</value>  </data>  <data name="NKS_KERNEL_FATALERROR" xml:space="preserve">    <value>Nitrocid KS has detected a problem and it has been shut down.</value>  </data>  <data name="NKS_KERNEL_STARTING_DEVMESSAGE" xml:space="preserve">    <value>You&apos;re running the development version of the kernel. While you can experience upcoming features which may exist in the final release, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_RCMESSAGE" xml:space="preserve">    <value>You&apos;re running the release candidate version of the kernel. While you can experience the final touches, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_UNSUPPORTED" xml:space="preserve">    <value>We recommend against running this version of the kernel, because it is unsupported. If you have downloaded this kernel from unknown sources, this message may appear. Please download from our official downloads page.</value>  </data>  <data name="NKS_KERNEL_STARTING_ALPHAMESSAGE" xml:space="preserve">    <value>You&apos;re running the alpha version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_BETAMESSAGE" xml:space="preserve">    <value>You&apos;re running the beta version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data></root>

    Our recent experiments proved that the resources method was faster than the LocaleStation method when it comes to first startup times due to Windows Defender. We have removed this library from the list of supported libraries, and that all development of LocaleStation will stop.

    The specification will remain maintained, and the Aptivi Development Toolkit (ADT) will provide tools that we’ve developed internally to make dealing with those files easier than before.

    We are still working on the rollout of the .resx file for all libraries, and this may take multiple library releases, depending on the severity of the situation.

    #C_ #csharp #dotnet #Language #libraries #Library #Localization #news #Tech #Technology #update

  12. LocaleStation’s Deprecation

    LocaleStation was released as part of the ongoing effort back in June 2025 to give all our libraries a chance to be translatable to your native language. This kind of effort was studied under the assumption that we’d achieve simpler and faster localization. However, our expectations fell short when we had discovered the massive first startup performance impact on Windows systems.

    This performance impact was especially noticeable on Windows systems where applications like Nitrocid would suffer from longer startup times in both the main application entry point and the addon loading point. This slow down is considered to be unacceptable, especially when an “unrelated” feature would cause this slow down. This is because of the Windows Defender’s Antimalware Service Executable process taking up a majority of the CPU cycles in analyzing the localization files in the first JIT compilation of all libraries and applications that depend on LocaleStation’s generated files.

    As a result, we’ve decided to shut down LocaleStation as a library, and convert all the existing JSON files, with appropriate modifications, to a standard culture-specific resources file that is managed by .NET.

    With Terminaux, we’ve conducted an experimental branch based on the Terminaux 8.0.0 branch that can be found in the x/exp/v8.0.x-loc-resx-poc branch. We’ve used an internal program that converts LocaleStation-compatible JSON files that you can see like below:

    {    "lang": "eng",    "name": "English",    "cultures": [ "en-US", "en-GB" ],    "locs": [        {            "loc": "TEXT_HELLO_WORLD",            "text": "Hello world!"        },        {            "loc": "TEXT_HI",            "text": "Hi!"        }    ]}

    …to the .resx format as in below:

    <?xml version="1.0" encoding="utf-8"?><root>    <!--     Microsoft ResX Schema     Version 2.0    The primary goals of this format is to allow a simple XML format     that is mostly human readable. The generation and parsing of the     various data types are done through the TypeConverter classes     associated with the data types.    Example:    ... ado.net/XML headers & schema ...    <resheader name="resmimetype">text/microsoft-resx</resheader>    <resheader name="version">2.0</resheader>    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">        <value>[base64 mime encoded serialized .NET Framework object]</value>    </data>    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>        <comment>This is a comment</comment>    </data>    There are any number of "resheader" rows that contain simple     name/value pairs.    Each data row contains a name, and value. The row also contains a     type or mimetype. Type corresponds to a .NET class that support     text/value conversion through the TypeConverter architecture.     Classes that don't support this are serialized and stored with the     mimetype set.    The mimetype is used for serialized objects, and tells the     ResXResourceReader how to depersist the object. This is currently not     extensible. For a given mimetype the value must be set accordingly:    Note - application/x-microsoft.net.object.binary.base64 is the format     that the ResXResourceWriter will generate, however the reader can     read any of the formats listed below.    mimetype: application/x-microsoft.net.object.binary.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.soap.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.bytearray.base64    value   : The object must be serialized into a byte array             : using a System.ComponentModel.TypeConverter            : and then encoded with base64 encoding.    -->    <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />    <xsd:element name="root" msdata:IsDataSet="true">        <xsd:complexType>        <xsd:choice maxOccurs="unbounded">            <xsd:element name="metadata">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" />                </xsd:sequence>                <xsd:attribute name="name" use="required" type="xsd:string" />                <xsd:attribute name="type" type="xsd:string" />                <xsd:attribute name="mimetype" type="xsd:string" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="assembly">            <xsd:complexType>                <xsd:attribute name="alias" type="xsd:string" />                <xsd:attribute name="name" type="xsd:string" />            </xsd:complexType>            </xsd:element>            <xsd:element name="data">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />                <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />                <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="resheader">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" />            </xsd:complexType>            </xsd:element>        </xsd:choice>        </xsd:complexType>    </xsd:element>    </xsd:schema>    <resheader name="resmimetype">    <value>text/microsoft-resx</value>    </resheader>    <resheader name="version">    <value>2.0</value>    </resheader>    <resheader name="reader">    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>    <resheader name="writer">    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>      <data name="NKS_COMMON_ANYKEY" xml:space="preserve">    <value>Press any key to continue...</value>  </data>  <data name="NKS_KERNEL_NOAPMSIMULATION" xml:space="preserve">    <value>It&apos;s now safe to turn off your computer.</value>  </data>  <data name="NKS_KERNEL_ENVERROR" xml:space="preserve">    <value>Kernel environment error:</value>  </data>  <data name="NKS_KERNEL_FATALERROR" xml:space="preserve">    <value>Nitrocid KS has detected a problem and it has been shut down.</value>  </data>  <data name="NKS_KERNEL_STARTING_DEVMESSAGE" xml:space="preserve">    <value>You&apos;re running the development version of the kernel. While you can experience upcoming features which may exist in the final release, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_RCMESSAGE" xml:space="preserve">    <value>You&apos;re running the release candidate version of the kernel. While you can experience the final touches, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_UNSUPPORTED" xml:space="preserve">    <value>We recommend against running this version of the kernel, because it is unsupported. If you have downloaded this kernel from unknown sources, this message may appear. Please download from our official downloads page.</value>  </data>  <data name="NKS_KERNEL_STARTING_ALPHAMESSAGE" xml:space="preserve">    <value>You&apos;re running the alpha version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_BETAMESSAGE" xml:space="preserve">    <value>You&apos;re running the beta version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data></root>

    Our recent experiments proved that the resources method was faster than the LocaleStation method when it comes to first startup times due to Windows Defender. We have removed this library from the list of supported libraries, and that all development of LocaleStation will stop.

    The specification will remain maintained, and the Aptivi Development Toolkit (ADT) will provide tools that we’ve developed internally to make dealing with those files easier than before.

    We are still working on the rollout of the .resx file for all libraries, and this may take multiple library releases, depending on the severity of the situation.

    #C_ #csharp #dotnet #Language #libraries #Library #Localization #news #Tech #Technology #update

  13. LocaleStation’s Deprecation

    LocaleStation was released as part of the ongoing effort back in June 2025 to give all our libraries a chance to be translatable to your native language. This kind of effort was studied under the assumption that we’d achieve simpler and faster localization. However, our expectations fell short when we had discovered the massive first startup performance impact on Windows systems.

    This performance impact was especially noticeable on Windows systems where applications like Nitrocid would suffer from longer startup times in both the main application entry point and the addon loading point. This slow down is considered to be unacceptable, especially when an “unrelated” feature would cause this slow down. This is because of the Windows Defender’s Antimalware Service Executable process taking up a majority of the CPU cycles in analyzing the localization files in the first JIT compilation of all libraries and applications that depend on LocaleStation’s generated files.

    As a result, we’ve decided to shut down LocaleStation as a library, and convert all the existing JSON files, with appropriate modifications, to a standard culture-specific resources file that is managed by .NET.

    With Terminaux, we’ve conducted an experimental branch based on the Terminaux 8.0.0 branch that can be found in the x/exp/v8.0.x-loc-resx-poc branch. We’ve used an internal program that converts LocaleStation-compatible JSON files that you can see like below:

    {    "lang": "eng",    "name": "English",    "cultures": [ "en-US", "en-GB" ],    "locs": [        {            "loc": "TEXT_HELLO_WORLD",            "text": "Hello world!"        },        {            "loc": "TEXT_HI",            "text": "Hi!"        }    ]}

    …to the .resx format as in below:

    <?xml version="1.0" encoding="utf-8"?><root>    <!--     Microsoft ResX Schema     Version 2.0    The primary goals of this format is to allow a simple XML format     that is mostly human readable. The generation and parsing of the     various data types are done through the TypeConverter classes     associated with the data types.    Example:    ... ado.net/XML headers & schema ...    <resheader name="resmimetype">text/microsoft-resx</resheader>    <resheader name="version">2.0</resheader>    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">        <value>[base64 mime encoded serialized .NET Framework object]</value>    </data>    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>        <comment>This is a comment</comment>    </data>    There are any number of "resheader" rows that contain simple     name/value pairs.    Each data row contains a name, and value. The row also contains a     type or mimetype. Type corresponds to a .NET class that support     text/value conversion through the TypeConverter architecture.     Classes that don't support this are serialized and stored with the     mimetype set.    The mimetype is used for serialized objects, and tells the     ResXResourceReader how to depersist the object. This is currently not     extensible. For a given mimetype the value must be set accordingly:    Note - application/x-microsoft.net.object.binary.base64 is the format     that the ResXResourceWriter will generate, however the reader can     read any of the formats listed below.    mimetype: application/x-microsoft.net.object.binary.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.soap.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.bytearray.base64    value   : The object must be serialized into a byte array             : using a System.ComponentModel.TypeConverter            : and then encoded with base64 encoding.    -->    <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />    <xsd:element name="root" msdata:IsDataSet="true">        <xsd:complexType>        <xsd:choice maxOccurs="unbounded">            <xsd:element name="metadata">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" />                </xsd:sequence>                <xsd:attribute name="name" use="required" type="xsd:string" />                <xsd:attribute name="type" type="xsd:string" />                <xsd:attribute name="mimetype" type="xsd:string" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="assembly">            <xsd:complexType>                <xsd:attribute name="alias" type="xsd:string" />                <xsd:attribute name="name" type="xsd:string" />            </xsd:complexType>            </xsd:element>            <xsd:element name="data">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />                <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />                <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="resheader">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" />            </xsd:complexType>            </xsd:element>        </xsd:choice>        </xsd:complexType>    </xsd:element>    </xsd:schema>    <resheader name="resmimetype">    <value>text/microsoft-resx</value>    </resheader>    <resheader name="version">    <value>2.0</value>    </resheader>    <resheader name="reader">    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>    <resheader name="writer">    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>      <data name="NKS_COMMON_ANYKEY" xml:space="preserve">    <value>Press any key to continue...</value>  </data>  <data name="NKS_KERNEL_NOAPMSIMULATION" xml:space="preserve">    <value>It&apos;s now safe to turn off your computer.</value>  </data>  <data name="NKS_KERNEL_ENVERROR" xml:space="preserve">    <value>Kernel environment error:</value>  </data>  <data name="NKS_KERNEL_FATALERROR" xml:space="preserve">    <value>Nitrocid KS has detected a problem and it has been shut down.</value>  </data>  <data name="NKS_KERNEL_STARTING_DEVMESSAGE" xml:space="preserve">    <value>You&apos;re running the development version of the kernel. While you can experience upcoming features which may exist in the final release, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_RCMESSAGE" xml:space="preserve">    <value>You&apos;re running the release candidate version of the kernel. While you can experience the final touches, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_UNSUPPORTED" xml:space="preserve">    <value>We recommend against running this version of the kernel, because it is unsupported. If you have downloaded this kernel from unknown sources, this message may appear. Please download from our official downloads page.</value>  </data>  <data name="NKS_KERNEL_STARTING_ALPHAMESSAGE" xml:space="preserve">    <value>You&apos;re running the alpha version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_BETAMESSAGE" xml:space="preserve">    <value>You&apos;re running the beta version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data></root>

    Our recent experiments proved that the resources method was faster than the LocaleStation method when it comes to first startup times due to Windows Defender. We have removed this library from the list of supported libraries, and that all development of LocaleStation will stop.

    The specification will remain maintained, and the Aptivi Development Toolkit (ADT) will provide tools that we’ve developed internally to make dealing with those files easier than before.

    We are still working on the rollout of the .resx file for all libraries, and this may take multiple library releases, depending on the severity of the situation.

    #C_ #csharp #dotnet #Language #libraries #Library #Localization #news #Tech #Technology #update

  14. LocaleStation’s Deprecation

    LocaleStation was released as part of the ongoing effort back in June 2025 to give all our libraries a chance to be translatable to your native language. This kind of effort was studied under the assumption that we’d achieve simpler and faster localization. However, our expectations fell short when we had discovered the massive first startup performance impact on Windows systems.

    This performance impact was especially noticeable on Windows systems where applications like Nitrocid would suffer from longer startup times in both the main application entry point and the addon loading point. This slow down is considered to be unacceptable, especially when an “unrelated” feature would cause this slow down. This is because of the Windows Defender’s Antimalware Service Executable process taking up a majority of the CPU cycles in analyzing the localization files in the first JIT compilation of all libraries and applications that depend on LocaleStation’s generated files.

    As a result, we’ve decided to shut down LocaleStation as a library, and convert all the existing JSON files, with appropriate modifications, to a standard culture-specific resources file that is managed by .NET.

    With Terminaux, we’ve conducted an experimental branch based on the Terminaux 8.0.0 branch that can be found in the x/exp/v8.0.x-loc-resx-poc branch. We’ve used an internal program that converts LocaleStation-compatible JSON files that you can see like below:

    {    "lang": "eng",    "name": "English",    "cultures": [ "en-US", "en-GB" ],    "locs": [        {            "loc": "TEXT_HELLO_WORLD",            "text": "Hello world!"        },        {            "loc": "TEXT_HI",            "text": "Hi!"        }    ]}

    …to the .resx format as in below:

    <?xml version="1.0" encoding="utf-8"?><root>    <!--     Microsoft ResX Schema     Version 2.0    The primary goals of this format is to allow a simple XML format     that is mostly human readable. The generation and parsing of the     various data types are done through the TypeConverter classes     associated with the data types.    Example:    ... ado.net/XML headers & schema ...    <resheader name="resmimetype">text/microsoft-resx</resheader>    <resheader name="version">2.0</resheader>    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">        <value>[base64 mime encoded serialized .NET Framework object]</value>    </data>    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>        <comment>This is a comment</comment>    </data>    There are any number of "resheader" rows that contain simple     name/value pairs.    Each data row contains a name, and value. The row also contains a     type or mimetype. Type corresponds to a .NET class that support     text/value conversion through the TypeConverter architecture.     Classes that don't support this are serialized and stored with the     mimetype set.    The mimetype is used for serialized objects, and tells the     ResXResourceReader how to depersist the object. This is currently not     extensible. For a given mimetype the value must be set accordingly:    Note - application/x-microsoft.net.object.binary.base64 is the format     that the ResXResourceWriter will generate, however the reader can     read any of the formats listed below.    mimetype: application/x-microsoft.net.object.binary.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.soap.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.bytearray.base64    value   : The object must be serialized into a byte array             : using a System.ComponentModel.TypeConverter            : and then encoded with base64 encoding.    -->    <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />    <xsd:element name="root" msdata:IsDataSet="true">        <xsd:complexType>        <xsd:choice maxOccurs="unbounded">            <xsd:element name="metadata">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" />                </xsd:sequence>                <xsd:attribute name="name" use="required" type="xsd:string" />                <xsd:attribute name="type" type="xsd:string" />                <xsd:attribute name="mimetype" type="xsd:string" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="assembly">            <xsd:complexType>                <xsd:attribute name="alias" type="xsd:string" />                <xsd:attribute name="name" type="xsd:string" />            </xsd:complexType>            </xsd:element>            <xsd:element name="data">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />                <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />                <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="resheader">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" />            </xsd:complexType>            </xsd:element>        </xsd:choice>        </xsd:complexType>    </xsd:element>    </xsd:schema>    <resheader name="resmimetype">    <value>text/microsoft-resx</value>    </resheader>    <resheader name="version">    <value>2.0</value>    </resheader>    <resheader name="reader">    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>    <resheader name="writer">    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>      <data name="NKS_COMMON_ANYKEY" xml:space="preserve">    <value>Press any key to continue...</value>  </data>  <data name="NKS_KERNEL_NOAPMSIMULATION" xml:space="preserve">    <value>It&apos;s now safe to turn off your computer.</value>  </data>  <data name="NKS_KERNEL_ENVERROR" xml:space="preserve">    <value>Kernel environment error:</value>  </data>  <data name="NKS_KERNEL_FATALERROR" xml:space="preserve">    <value>Nitrocid KS has detected a problem and it has been shut down.</value>  </data>  <data name="NKS_KERNEL_STARTING_DEVMESSAGE" xml:space="preserve">    <value>You&apos;re running the development version of the kernel. While you can experience upcoming features which may exist in the final release, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_RCMESSAGE" xml:space="preserve">    <value>You&apos;re running the release candidate version of the kernel. While you can experience the final touches, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_UNSUPPORTED" xml:space="preserve">    <value>We recommend against running this version of the kernel, because it is unsupported. If you have downloaded this kernel from unknown sources, this message may appear. Please download from our official downloads page.</value>  </data>  <data name="NKS_KERNEL_STARTING_ALPHAMESSAGE" xml:space="preserve">    <value>You&apos;re running the alpha version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_BETAMESSAGE" xml:space="preserve">    <value>You&apos;re running the beta version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data></root>

    Our recent experiments proved that the resources method was faster than the LocaleStation method when it comes to first startup times due to Windows Defender. We have removed this library from the list of supported libraries, and that all development of LocaleStation will stop.

    The specification will remain maintained, and the Aptivi Development Toolkit (ADT) will provide tools that we’ve developed internally to make dealing with those files easier than before.

    We are still working on the rollout of the .resx file for all libraries, and this may take multiple library releases, depending on the severity of the situation.

    #C_ #csharp #dotnet #Language #libraries #Library #Localization #news #Tech #Technology #update

  15. LocaleStation’s Deprecation

    LocaleStation was released as part of the ongoing effort back in June 2025 to give all our libraries a chance to be translatable to your native language. This kind of effort was studied under the assumption that we’d achieve simpler and faster localization. However, our expectations fell short when we had discovered the massive first startup performance impact on Windows systems.

    This performance impact was especially noticeable on Windows systems where applications like Nitrocid would suffer from longer startup times in both the main application entry point and the addon loading point. This slow down is considered to be unacceptable, especially when an “unrelated” feature would cause this slow down. This is because of the Windows Defender’s Antimalware Service Executable process taking up a majority of the CPU cycles in analyzing the localization files in the first JIT compilation of all libraries and applications that depend on LocaleStation’s generated files.

    As a result, we’ve decided to shut down LocaleStation as a library, and convert all the existing JSON files, with appropriate modifications, to a standard culture-specific resources file that is managed by .NET.

    With Terminaux, we’ve conducted an experimental branch based on the Terminaux 8.0.0 branch that can be found in the x/exp/v8.0.x-loc-resx-poc branch. We’ve used an internal program that converts LocaleStation-compatible JSON files that you can see like below:

    {    "lang": "eng",    "name": "English",    "cultures": [ "en-US", "en-GB" ],    "locs": [        {            "loc": "TEXT_HELLO_WORLD",            "text": "Hello world!"        },        {            "loc": "TEXT_HI",            "text": "Hi!"        }    ]}

    …to the .resx format as in below:

    <?xml version="1.0" encoding="utf-8"?><root>    <!--     Microsoft ResX Schema     Version 2.0    The primary goals of this format is to allow a simple XML format     that is mostly human readable. The generation and parsing of the     various data types are done through the TypeConverter classes     associated with the data types.    Example:    ... ado.net/XML headers & schema ...    <resheader name="resmimetype">text/microsoft-resx</resheader>    <resheader name="version">2.0</resheader>    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">        <value>[base64 mime encoded serialized .NET Framework object]</value>    </data>    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>        <comment>This is a comment</comment>    </data>    There are any number of "resheader" rows that contain simple     name/value pairs.    Each data row contains a name, and value. The row also contains a     type or mimetype. Type corresponds to a .NET class that support     text/value conversion through the TypeConverter architecture.     Classes that don't support this are serialized and stored with the     mimetype set.    The mimetype is used for serialized objects, and tells the     ResXResourceReader how to depersist the object. This is currently not     extensible. For a given mimetype the value must be set accordingly:    Note - application/x-microsoft.net.object.binary.base64 is the format     that the ResXResourceWriter will generate, however the reader can     read any of the formats listed below.    mimetype: application/x-microsoft.net.object.binary.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.soap.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.bytearray.base64    value   : The object must be serialized into a byte array             : using a System.ComponentModel.TypeConverter            : and then encoded with base64 encoding.    -->    <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />    <xsd:element name="root" msdata:IsDataSet="true">        <xsd:complexType>        <xsd:choice maxOccurs="unbounded">            <xsd:element name="metadata">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" />                </xsd:sequence>                <xsd:attribute name="name" use="required" type="xsd:string" />                <xsd:attribute name="type" type="xsd:string" />                <xsd:attribute name="mimetype" type="xsd:string" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="assembly">            <xsd:complexType>                <xsd:attribute name="alias" type="xsd:string" />                <xsd:attribute name="name" type="xsd:string" />            </xsd:complexType>            </xsd:element>            <xsd:element name="data">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />                <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />                <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="resheader">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" />            </xsd:complexType>            </xsd:element>        </xsd:choice>        </xsd:complexType>    </xsd:element>    </xsd:schema>    <resheader name="resmimetype">    <value>text/microsoft-resx</value>    </resheader>    <resheader name="version">    <value>2.0</value>    </resheader>    <resheader name="reader">    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>    <resheader name="writer">    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>      <data name="NKS_COMMON_ANYKEY" xml:space="preserve">    <value>Press any key to continue...</value>  </data>  <data name="NKS_KERNEL_NOAPMSIMULATION" xml:space="preserve">    <value>It&apos;s now safe to turn off your computer.</value>  </data>  <data name="NKS_KERNEL_ENVERROR" xml:space="preserve">    <value>Kernel environment error:</value>  </data>  <data name="NKS_KERNEL_FATALERROR" xml:space="preserve">    <value>Nitrocid KS has detected a problem and it has been shut down.</value>  </data>  <data name="NKS_KERNEL_STARTING_DEVMESSAGE" xml:space="preserve">    <value>You&apos;re running the development version of the kernel. While you can experience upcoming features which may exist in the final release, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_RCMESSAGE" xml:space="preserve">    <value>You&apos;re running the release candidate version of the kernel. While you can experience the final touches, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_UNSUPPORTED" xml:space="preserve">    <value>We recommend against running this version of the kernel, because it is unsupported. If you have downloaded this kernel from unknown sources, this message may appear. Please download from our official downloads page.</value>  </data>  <data name="NKS_KERNEL_STARTING_ALPHAMESSAGE" xml:space="preserve">    <value>You&apos;re running the alpha version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_BETAMESSAGE" xml:space="preserve">    <value>You&apos;re running the beta version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data></root>

    Our recent experiments proved that the resources method was faster than the LocaleStation method when it comes to first startup times due to Windows Defender. We have removed this library from the list of supported libraries, and that all development of LocaleStation will stop.

    The specification will remain maintained, and the Aptivi Development Toolkit (ADT) will provide tools that we’ve developed internally to make dealing with those files easier than before.

    We are still working on the rollout of the .resx file for all libraries, and this may take multiple library releases, depending on the severity of the situation.

    #C_ #csharp #dotnet #Language #libraries #Library #Localization #news #Tech #Technology #update

  16. .NET Short Term Releases get 2 years of support!

    Earlier, the short term releases for each .NET version would last only 1.5 years (18 months), which means that once an LTS gets released, you’ll have to upgrade to that LTS versions before your .NET version gets deprecated. Now, it seems that Microsoft have adjusted this support length for short term releases of the modern .NET framework, starting from .NET 9.0 released November 12th of the last year.

    Microsoft has added six more months to the total support length for such releases, making them end with their LTS version that came before. For example, on November 10th, 2026, both .NET 8.0 and 9.0 will reach end of life.

    Here’s the chart that demonstrates the new support timeline:

    This is a welcome change, as you’ll now have six extra months to upgrade to the new LTS release by the time the current STS and LTS versions are still in support. You can learn more about this change here.

    Learn more

    #Net #Net9 #Net90 #NetCore #C_ #dotnet #news #Tech #Technology #update

  17. .NET Short Term Releases get 2 years of support!

    Earlier, the short term releases for each .NET version would last only 1.5 years (18 months), which means that once an LTS gets released, you’ll have to upgrade to that LTS versions before your .NET version gets deprecated. Now, it seems that Microsoft have adjusted this support length for short term releases of the modern .NET framework, starting from .NET 9.0 released November 12th of the last year.

    Microsoft has added six more months to the total support length for such releases, making them end with their LTS version that came before. For example, on November 10th, 2026, both .NET 8.0 and 9.0 will reach end of life.

    Here’s the chart that demonstrates the new support timeline:

    This is a welcome change, as you’ll now have six extra months to upgrade to the new LTS release by the time the current STS and LTS versions are still in support. You can learn more about this change here.

    Learn more

    #Net #Net9 #Net90 #NetCore #C_ #dotnet #news #Tech #Technology #update

  18. .NET Short Term Releases get 2 years of support!

    Earlier, the short term releases for each .NET version would last only 1.5 years (18 months), which means that once an LTS gets released, you’ll have to upgrade to that LTS versions before your .NET version gets deprecated. Now, it seems that Microsoft have adjusted this support length for short term releases of the modern .NET framework, starting from .NET 9.0 released November 12th of the last year.

    Microsoft has added six more months to the total support length for such releases, making them end with their LTS version that came before. For example, on November 10th, 2026, both .NET 8.0 and 9.0 will reach end of life.

    Here’s the chart that demonstrates the new support timeline:

    This is a welcome change, as you’ll now have six extra months to upgrade to the new LTS release by the time the current STS and LTS versions are still in support. You can learn more about this change here.

    Learn more

    #Net #Net9 #Net90 #NetCore #C_ #dotnet #news #Tech #Technology #update

  19. .NET Short Term Releases get 2 years of support!

    Earlier, the short term releases for each .NET version would last only 1.5 years (18 months), which means that once an LTS gets released, you’ll have to upgrade to that LTS versions before your .NET version gets deprecated. Now, it seems that Microsoft have adjusted this support length for short term releases of the modern .NET framework, starting from .NET 9.0 released November 12th of the last year.

    Microsoft has added six more months to the total support length for such releases, making them end with their LTS version that came before. For example, on November 10th, 2026, both .NET 8.0 and 9.0 will reach end of life.

    Here’s the chart that demonstrates the new support timeline:

    This is a welcome change, as you’ll now have six extra months to upgrade to the new LTS release by the time the current STS and LTS versions are still in support. You can learn more about this change here.

    Learn more

    #Net #Net9 #Net90 #NetCore #C_ #dotnet #news #Tech #Technology #update

  20. .NET Short Term Releases get 2 years of support!

    Earlier, the short term releases for each .NET version would last only 1.5 years (18 months), which means that once an LTS gets released, you’ll have to upgrade to that LTS versions before your .NET version gets deprecated. Now, it seems that Microsoft have adjusted this support length for short term releases of the modern .NET framework, starting from .NET 9.0 released November 12th of the last year.

    Microsoft has added six more months to the total support length for such releases, making them end with their LTS version that came before. For example, on November 10th, 2026, both .NET 8.0 and 9.0 will reach end of life.

    Here’s the chart that demonstrates the new support timeline:

    This is a welcome change, as you’ll now have six extra months to upgrade to the new LTS release by the time the current STS and LTS versions are still in support. You can learn more about this change here.

    Learn more

    #Net #Net9 #Net90 #NetCore #C_ #dotnet #news #Tech #Technology #update

  21. Avalonia gets ready for macOS Tahoe!

    Avalonia is a very popular UI framework for .NET desktop applications that run on not only computers, but also phones and tablets. Avalonia is constantly improved to bring new features while ensuring that your Avalonia applications get enhanced performance across releases. macOS Tahoe brings the Liquid Glass design, along with new features for Macintosh users.

    Now, Avalonia has just released a new version in the v11.x version series, and that is version 11.3.6. The following changes were made:

    Out of all the above changes made to the Avalonia framework, two of them stands out for macOS support, because the macOS tray/menu icons scaling has been improved, ensuring that your applications look more awesome than before. Also, the SkiaSharp3 Metal interoperability signature has been changed, and Avalonia has been adapted to the new signature.

    Both of those changes have made Avalonia ready for macOS Tahoe, as teased in a release post on Mastodon.

    https://dotnet.social/@avaloniaui/115195866218682967

    We are extremely grateful for their hard work at Avalonia for supporting macOS Tahoe.

    To update your applications to support macOS Tahoe, update all your Avalonia NuGet packages to version 11.3.6 using either the package manager in your Visual Studio installation or the project files.

    #Net #Avalonia #AvaloniaUI #C_ #csharp #dotnet #macOS #macOS26 #macOS26Tahoe #macOSTahoe #news #Programming #Tech #Technology #UI #update

  22. Avalonia gets ready for macOS Tahoe!

    Avalonia is a very popular UI framework for .NET desktop applications that run on not only computers, but also phones and tablets. Avalonia is constantly improved to bring new features while ensuring that your Avalonia applications get enhanced performance across releases. macOS Tahoe brings the Liquid Glass design, along with new features for Macintosh users.

    Now, Avalonia has just released a new version in the v11.x version series, and that is version 11.3.6. The following changes were made:

    Out of all the above changes made to the Avalonia framework, two of them stands out for macOS support, because the macOS tray/menu icons scaling has been improved, ensuring that your applications look more awesome than before. Also, the SkiaSharp3 Metal interoperability signature has been changed, and Avalonia has been adapted to the new signature.

    Both of those changes have made Avalonia ready for macOS Tahoe, as teased in a release post on Mastodon.

    https://dotnet.social/@avaloniaui/115195866218682967

    We are extremely grateful for their hard work at Avalonia for supporting macOS Tahoe.

    To update your applications to support macOS Tahoe, update all your Avalonia NuGet packages to version 11.3.6 using either the package manager in your Visual Studio installation or the project files.

    #Net #Avalonia #AvaloniaUI #C_ #csharp #dotnet #macOS #macOS26 #macOS26Tahoe #macOSTahoe #news #Programming #Tech #Technology #UI #update

  23. Avalonia gets ready for macOS Tahoe!

    Avalonia is a very popular UI framework for .NET desktop applications that run on not only computers, but also phones and tablets. Avalonia is constantly improved to bring new features while ensuring that your Avalonia applications get enhanced performance across releases. macOS Tahoe brings the Liquid Glass design, along with new features for Macintosh users.

    Now, Avalonia has just released a new version in the v11.x version series, and that is version 11.3.6. The following changes were made:

    Out of all the above changes made to the Avalonia framework, two of them stands out for macOS support, because the macOS tray/menu icons scaling has been improved, ensuring that your applications look more awesome than before. Also, the SkiaSharp3 Metal interoperability signature has been changed, and Avalonia has been adapted to the new signature.

    Both of those changes have made Avalonia ready for macOS Tahoe, as teased in a release post on Mastodon.

    https://dotnet.social/@avaloniaui/115195866218682967

    We are extremely grateful for their hard work at Avalonia for supporting macOS Tahoe.

    To update your applications to support macOS Tahoe, update all your Avalonia NuGet packages to version 11.3.6 using either the package manager in your Visual Studio installation or the project files.

    #Net #Avalonia #AvaloniaUI #C_ #csharp #dotnet #macOS #macOS26 #macOS26Tahoe #macOSTahoe #news #Programming #Tech #Technology #UI #update

  24. Avalonia gets ready for macOS Tahoe!

    Avalonia is a very popular UI framework for .NET desktop applications that run on not only computers, but also phones and tablets. Avalonia is constantly improved to bring new features while ensuring that your Avalonia applications get enhanced performance across releases. macOS Tahoe brings the Liquid Glass design, along with new features for Macintosh users.

    Now, Avalonia has just released a new version in the v11.x version series, and that is version 11.3.6. The following changes were made:

    Out of all the above changes made to the Avalonia framework, two of them stands out for macOS support, because the macOS tray/menu icons scaling has been improved, ensuring that your applications look more awesome than before. Also, the SkiaSharp3 Metal interoperability signature has been changed, and Avalonia has been adapted to the new signature.

    Both of those changes have made Avalonia ready for macOS Tahoe, as teased in a release post on Mastodon.

    https://dotnet.social/@avaloniaui/115195866218682967

    We are extremely grateful for their hard work at Avalonia for supporting macOS Tahoe.

    To update your applications to support macOS Tahoe, update all your Avalonia NuGet packages to version 11.3.6 using either the package manager in your Visual Studio installation or the project files.

    #Net #Avalonia #AvaloniaUI #C_ #csharp #dotnet #macOS #macOS26 #macOS26Tahoe #macOSTahoe #news #Programming #Tech #Technology #UI #update

  25. Avalonia gets ready for macOS Tahoe!

    Avalonia is a very popular UI framework for .NET desktop applications that run on not only computers, but also phones and tablets. Avalonia is constantly improved to bring new features while ensuring that your Avalonia applications get enhanced performance across releases. macOS Tahoe brings the Liquid Glass design, along with new features for Macintosh users.

    Now, Avalonia has just released a new version in the v11.x version series, and that is version 11.3.6. The following changes were made:

    Out of all the above changes made to the Avalonia framework, two of them stands out for macOS support, because the macOS tray/menu icons scaling has been improved, ensuring that your applications look more awesome than before. Also, the SkiaSharp3 Metal interoperability signature has been changed, and Avalonia has been adapted to the new signature.

    Both of those changes have made Avalonia ready for macOS Tahoe, as teased in a release post on Mastodon.

    https://dotnet.social/@avaloniaui/115195866218682967

    We are extremely grateful for their hard work at Avalonia for supporting macOS Tahoe.

    To update your applications to support macOS Tahoe, update all your Avalonia NuGet packages to version 11.3.6 using either the package manager in your Visual Studio installation or the project files.

    #Net #Avalonia #AvaloniaUI #C_ #csharp #dotnet #macOS #macOS26 #macOS26Tahoe #macOSTahoe #news #Programming #Tech #Technology #UI #update

  26. Visual Studio 2026 Preview is here!

    A new version of Visual Studio is materializing, and the first preview is now live! The next version of Visual Studio, which we’re talking about in an earlier article, isn’t called Visual Studio 2025, as you may think. The name of this version of Visual Studio set to revolutionize your whole development experience is called…

    Visual Studio 2026!

    You can see the below video that talks about the future of Visual Studio, which tells you what Visual Studio 2026 will introduce.

    Please note that the features and the appearances shown in the below video are based on an internal build of Visual Studio 2026 (you can tell from the “INT PREVIEW” badge) and may not reflect their state in the final version.

    https://www.youtube.com/watch?v=eQaZytCQsLEu0026amp;ab_channel=MicrosoftVisualStudio

    First of all, a new logo has been revealed for Visual Studio 2026, and it has a more modern look than before. Gradients in the logo are now more visible than the Visual Studio 2022 logo.

    When the first preview gets released hopefully before November, there will be over 5,000+ bugs fixed and over 300+ feature requests to be implemented across the entire Visual Studio 2026 suite. Additionally, updates have become a monthly update cadence, and this is currently being experimented with Visual Studio 2022 version 17.14.

    Visual Studio 2026 will still use the legacy .NET Framework that is exclusive to Windows in its main process, but it will stay at 64-bit as 32-bit computers reduce in popularity.

    Visual Studio 2026 will have a more modern UI that was teased to us in Visual Studio 2022 since two years ago. A more fluent design will be used to reduce visual clutter and to increase productivity. UI annoyances will be resolved to further maximize space and to improve user productivity.

    You will be able to theme your Visual Studio 2026 installation to further make it your own, to place your own colors to your IDE in your style. Theme creation will also become easier than ever.

    You will be able to build .NET 10 applications using Visual Studio 2026 to make them benefit from new features and to increase their performance.

    To learn more, check out this excellent blog article from NDepend here.

    Learn more

    #Net #C_ #csharp #dotnet #news #Tech #Technology #update #visualStudio #VisualStudio2025 #VisualStudio2026

  27. Visual Studio 2026 Preview is here!

    A new version of Visual Studio is materializing, and the first preview is now live! The next version of Visual Studio, which we’re talking about in an earlier article, isn’t called Visual Studio 2025, as you may think. The name of this version of Visual Studio set to revolutionize your whole development experience is called…

    Visual Studio 2026!

    You can see the below video that talks about the future of Visual Studio, which tells you what Visual Studio 2026 will introduce.

    Please note that the features and the appearances shown in the below video are based on an internal build of Visual Studio 2026 (you can tell from the “INT PREVIEW” badge) and may not reflect their state in the final version.

    https://www.youtube.com/watch?v=eQaZytCQsLEu0026amp;ab_channel=MicrosoftVisualStudio

    First of all, a new logo has been revealed for Visual Studio 2026, and it has a more modern look than before. Gradients in the logo are now more visible than the Visual Studio 2022 logo.

    When the first preview gets released hopefully before November, there will be over 5,000+ bugs fixed and over 300+ feature requests to be implemented across the entire Visual Studio 2026 suite. Additionally, updates have become a monthly update cadence, and this is currently being experimented with Visual Studio 2022 version 17.14.

    Visual Studio 2026 will still use the legacy .NET Framework that is exclusive to Windows in its main process, but it will stay at 64-bit as 32-bit computers reduce in popularity.

    Visual Studio 2026 will have a more modern UI that was teased to us in Visual Studio 2022 since two years ago. A more fluent design will be used to reduce visual clutter and to increase productivity. UI annoyances will be resolved to further maximize space and to improve user productivity.

    You will be able to theme your Visual Studio 2026 installation to further make it your own, to place your own colors to your IDE in your style. Theme creation will also become easier than ever.

    You will be able to build .NET 10 applications using Visual Studio 2026 to make them benefit from new features and to increase their performance.

    To learn more, check out this excellent blog article from NDepend here.

    Learn more

    #Net #C_ #csharp #dotnet #news #Tech #Technology #update #visualStudio #VisualStudio2025 #VisualStudio2026

  28. Visual Studio 2026 Preview is here!

    A new version of Visual Studio is materializing, and the first preview is now live! The next version of Visual Studio, which we’re talking about in an earlier article, isn’t called Visual Studio 2025, as you may think. The name of this version of Visual Studio set to revolutionize your whole development experience is called…

    Visual Studio 2026!

    You can see the below video that talks about the future of Visual Studio, which tells you what Visual Studio 2026 will introduce.

    Please note that the features and the appearances shown in the below video are based on an internal build of Visual Studio 2026 (you can tell from the “INT PREVIEW” badge) and may not reflect their state in the final version.

    https://www.youtube.com/watch?v=eQaZytCQsLEu0026amp;ab_channel=MicrosoftVisualStudio

    First of all, a new logo has been revealed for Visual Studio 2026, and it has a more modern look than before. Gradients in the logo are now more visible than the Visual Studio 2022 logo.

    When the first preview gets released hopefully before November, there will be over 5,000+ bugs fixed and over 300+ feature requests to be implemented across the entire Visual Studio 2026 suite. Additionally, updates have become a monthly update cadence, and this is currently being experimented with Visual Studio 2022 version 17.14.

    Visual Studio 2026 will still use the legacy .NET Framework that is exclusive to Windows in its main process, but it will stay at 64-bit as 32-bit computers reduce in popularity.

    Visual Studio 2026 will have a more modern UI that was teased to us in Visual Studio 2022 since two years ago. A more fluent design will be used to reduce visual clutter and to increase productivity. UI annoyances will be resolved to further maximize space and to improve user productivity.

    You will be able to theme your Visual Studio 2026 installation to further make it your own, to place your own colors to your IDE in your style. Theme creation will also become easier than ever.

    You will be able to build .NET 10 applications using Visual Studio 2026 to make them benefit from new features and to increase their performance.

    To learn more, check out this excellent blog article from NDepend here.

    Learn more

    #Net #C_ #csharp #dotnet #news #Tech #Technology #update #visualStudio #VisualStudio2025 #VisualStudio2026

  29. Visual Studio 2026 Preview is here!

    A new version of Visual Studio is materializing, and the first preview is now live! The next version of Visual Studio, which we’re talking about in an earlier article, isn’t called Visual Studio 2025, as you may think. The name of this version of Visual Studio set to revolutionize your whole development experience is called…

    Visual Studio 2026!

    You can see the below video that talks about the future of Visual Studio, which tells you what Visual Studio 2026 will introduce.

    Please note that the features and the appearances shown in the below video are based on an internal build of Visual Studio 2026 (you can tell from the “INT PREVIEW” badge) and may not reflect their state in the final version.

    https://www.youtube.com/watch?v=eQaZytCQsLEu0026amp;ab_channel=MicrosoftVisualStudio

    First of all, a new logo has been revealed for Visual Studio 2026, and it has a more modern look than before. Gradients in the logo are now more visible than the Visual Studio 2022 logo.

    When the first preview gets released hopefully before November, there will be over 5,000+ bugs fixed and over 300+ feature requests to be implemented across the entire Visual Studio 2026 suite. Additionally, updates have become a monthly update cadence, and this is currently being experimented with Visual Studio 2022 version 17.14.

    Visual Studio 2026 will still use the legacy .NET Framework that is exclusive to Windows in its main process, but it will stay at 64-bit as 32-bit computers reduce in popularity.

    Visual Studio 2026 will have a more modern UI that was teased to us in Visual Studio 2022 since two years ago. A more fluent design will be used to reduce visual clutter and to increase productivity. UI annoyances will be resolved to further maximize space and to improve user productivity.

    You will be able to theme your Visual Studio 2026 installation to further make it your own, to place your own colors to your IDE in your style. Theme creation will also become easier than ever.

    You will be able to build .NET 10 applications using Visual Studio 2026 to make them benefit from new features and to increase their performance.

    To learn more, check out this excellent blog article from NDepend here.

    Learn more

    #Net #C_ #csharp #dotnet #news #Tech #Technology #update #visualStudio #VisualStudio2025 #VisualStudio2026

  30. Visual Studio 2026 Preview is here!

    A new version of Visual Studio is materializing, and the first preview is now live! The next version of Visual Studio, which we’re talking about in an earlier article, isn’t called Visual Studio 2025, as you may think. The name of this version of Visual Studio set to revolutionize your whole development experience is called…

    Visual Studio 2026!

    You can see the below video that talks about the future of Visual Studio, which tells you what Visual Studio 2026 will introduce.

    Please note that the features and the appearances shown in the below video are based on an internal build of Visual Studio 2026 (you can tell from the “INT PREVIEW” badge) and may not reflect their state in the final version.

    https://www.youtube.com/watch?v=eQaZytCQsLEu0026amp;ab_channel=MicrosoftVisualStudio

    First of all, a new logo has been revealed for Visual Studio 2026, and it has a more modern look than before. Gradients in the logo are now more visible than the Visual Studio 2022 logo.

    When the first preview gets released hopefully before November, there will be over 5,000+ bugs fixed and over 300+ feature requests to be implemented across the entire Visual Studio 2026 suite. Additionally, updates have become a monthly update cadence, and this is currently being experimented with Visual Studio 2022 version 17.14.

    Visual Studio 2026 will still use the legacy .NET Framework that is exclusive to Windows in its main process, but it will stay at 64-bit as 32-bit computers reduce in popularity.

    Visual Studio 2026 will have a more modern UI that was teased to us in Visual Studio 2022 since two years ago. A more fluent design will be used to reduce visual clutter and to increase productivity. UI annoyances will be resolved to further maximize space and to improve user productivity.

    You will be able to theme your Visual Studio 2026 installation to further make it your own, to place your own colors to your IDE in your style. Theme creation will also become easier than ever.

    You will be able to build .NET 10 applications using Visual Studio 2026 to make them benefit from new features and to increase their performance.

    To learn more, check out this excellent blog article from NDepend here.

    Learn more

    #Net #C_ #csharp #dotnet #news #Tech #Technology #update #visualStudio #VisualStudio2025 #VisualStudio2026

  31. Visual Studio 2025 is now Visual Studio 2026!

    A new version of Visual Studio is materializing, and the first preview is set to be released soon. The next version of Visual Studio, which we’re talking about in an earlier article, isn’t called Visual Studio 2025, as you may think. The name of this version of Visual Studio set to revolutionize your whole development experience is called…

    Visual Studio 2026!

    You can see the below video that talks about the future of Visual Studio, which tells you what Visual Studio 2026 will introduce.

    https://www.youtube.com/watch?v=eQaZytCQsLE&ab_channel=MicrosoftVisualStudio

    First of all, a new logo has been revealed for Visual Studio 2026, and it has a more modern look than before. Gradients in the logo are now more visible than the Visual Studio 2022 logo.

    When the first preview gets released hopefully before November, there will be over 5,000+ bugs fixed and over 300+ feature requests to be implemented across the entire Visual Studio 2026 suite. Additionally, updates have become a monthly update cadence, and this is currently being experimented with Visual Studio 2022 version 17.14.

    Visual Studio 2026 will still use the legacy .NET Framework that is exclusive to Windows in its main process, but it will stay at 64-bit as 32-bit computers reduce in popularity.

    Visual Studio 2026 will have a more modern UI that was teased to us in Visual Studio 2022 since two years ago. A more fluent design will be used to reduce visual clutter and to increase productivity. UI annoyances will be resolved to further maximize space and to improve user productivity.

    You will be able to theme your Visual Studio 2026 installation to further make it your own, to place your own colors to your IDE in your style. Theme creation will also become easier than ever.

    You will be able to build .NET 10 applications using Visual Studio 2026 to make them benefit from new features and to increase their performance.

    To learn more, check out this excellent blog article from NDepend here.

    Learn more

    #Net #C_ #csharp #dotnet #news #Tech #Technology #update #visualStudio #VisualStudio2025 #VisualStudio2026

  32. Visual Studio 2025 is now Visual Studio 2026!

    A new version of Visual Studio is materializing, and the first preview is set to be released soon. The next version of Visual Studio, which we’re talking about in an earlier article, isn’t called Visual Studio 2025, as you may think. The name of this version of Visual Studio set to revolutionize your whole development experience is called…

    Visual Studio 2026!

    You can see the below video that talks about the future of Visual Studio, which tells you what Visual Studio 2026 will introduce.

    https://www.youtube.com/watch?v=eQaZytCQsLE&ab_channel=MicrosoftVisualStudio

    First of all, a new logo has been revealed for Visual Studio 2026, and it has a more modern look than before. Gradients in the logo are now more visible than the Visual Studio 2022 logo.

    When the first preview gets released hopefully before November, there will be over 5,000+ bugs fixed and over 300+ feature requests to be implemented across the entire Visual Studio 2026 suite. Additionally, updates have become a monthly update cadence, and this is currently being experimented with Visual Studio 2022 version 17.14.

    Visual Studio 2026 will still use the legacy .NET Framework that is exclusive to Windows in its main process, but it will stay at 64-bit as 32-bit computers reduce in popularity.

    Visual Studio 2026 will have a more modern UI that was teased to us in Visual Studio 2022 since two years ago. A more fluent design will be used to reduce visual clutter and to increase productivity. UI annoyances will be resolved to further maximize space and to improve user productivity.

    You will be able to theme your Visual Studio 2026 installation to further make it your own, to place your own colors to your IDE in your style. Theme creation will also become easier than ever.

    You will be able to build .NET 10 applications using Visual Studio 2026 to make them benefit from new features and to increase their performance.

    To learn more, check out this excellent blog article from NDepend here.

    Learn more

    #Net #C_ #csharp #dotnet #news #Tech #Technology #update #visualStudio #VisualStudio2025 #VisualStudio2026

  33. Visual Studio 2025 is now Visual Studio 2026!

    A new version of Visual Studio is materializing, and the first preview is set to be released soon. The next version of Visual Studio, which we’re talking about in an earlier article, isn’t called Visual Studio 2025, as you may think. The name of this version of Visual Studio set to revolutionize your whole development experience is called…

    Visual Studio 2026!

    You can see the below video that talks about the future of Visual Studio, which tells you what Visual Studio 2026 will introduce.

    https://www.youtube.com/watch?v=eQaZytCQsLE&ab_channel=MicrosoftVisualStudio

    First of all, a new logo has been revealed for Visual Studio 2026, and it has a more modern look than before. Gradients in the logo are now more visible than the Visual Studio 2022 logo.

    When the first preview gets released hopefully before November, there will be over 5,000+ bugs fixed and over 300+ feature requests to be implemented across the entire Visual Studio 2026 suite. Additionally, updates have become a monthly update cadence, and this is currently being experimented with Visual Studio 2022 version 17.14.

    Visual Studio 2026 will still use the legacy .NET Framework that is exclusive to Windows in its main process, but it will stay at 64-bit as 32-bit computers reduce in popularity.

    Visual Studio 2026 will have a more modern UI that was teased to us in Visual Studio 2022 since two years ago. A more fluent design will be used to reduce visual clutter and to increase productivity. UI annoyances will be resolved to further maximize space and to improve user productivity.

    You will be able to theme your Visual Studio 2026 installation to further make it your own, to place your own colors to your IDE in your style. Theme creation will also become easier than ever.

    You will be able to build .NET 10 applications using Visual Studio 2026 to make them benefit from new features and to increase their performance.

    To learn more, check out this excellent blog article from NDepend here.

    Learn more

    #Net #C_ #csharp #dotnet #news #Tech #Technology #update #visualStudio #VisualStudio2025 #VisualStudio2026

  34. Visual Studio 2025 is now Visual Studio 2026!

    A new version of Visual Studio is materializing, and the first preview is set to be released soon. The next version of Visual Studio, which we’re talking about in an earlier article, isn’t called Visual Studio 2025, as you may think. The name of this version of Visual Studio set to revolutionize your whole development experience is called…

    Visual Studio 2026!

    You can see the below video that talks about the future of Visual Studio, which tells you what Visual Studio 2026 will introduce.

    https://www.youtube.com/watch?v=eQaZytCQsLE&ab_channel=MicrosoftVisualStudio

    First of all, a new logo has been revealed for Visual Studio 2026, and it has a more modern look than before. Gradients in the logo are now more visible than the Visual Studio 2022 logo.

    When the first preview gets released hopefully before November, there will be over 5,000+ bugs fixed and over 300+ feature requests to be implemented across the entire Visual Studio 2026 suite. Additionally, updates have become a monthly update cadence, and this is currently being experimented with Visual Studio 2022 version 17.14.

    Visual Studio 2026 will still use the legacy .NET Framework that is exclusive to Windows in its main process, but it will stay at 64-bit as 32-bit computers reduce in popularity.

    Visual Studio 2026 will have a more modern UI that was teased to us in Visual Studio 2022 since two years ago. A more fluent design will be used to reduce visual clutter and to increase productivity. UI annoyances will be resolved to further maximize space and to improve user productivity.

    You will be able to theme your Visual Studio 2026 installation to further make it your own, to place your own colors to your IDE in your style. Theme creation will also become easier than ever.

    You will be able to build .NET 10 applications using Visual Studio 2026 to make them benefit from new features and to increase their performance.

    To learn more, check out this excellent blog article from NDepend here.

    Learn more

    #Net #C_ #csharp #dotnet #news #Tech #Technology #update #visualStudio #VisualStudio2025 #VisualStudio2026

  35. Visual Studio 2025 is now Visual Studio 2026!

    A new version of Visual Studio is materializing, and the first preview is set to be released soon. The next version of Visual Studio, which we’re talking about in an earlier article, isn’t called Visual Studio 2025, as you may think. The name of this version of Visual Studio set to revolutionize your whole development experience is called…

    Visual Studio 2026!

    You can see the below video that talks about the future of Visual Studio, which tells you what Visual Studio 2026 will introduce.

    https://www.youtube.com/watch?v=eQaZytCQsLE&ab_channel=MicrosoftVisualStudio

    First of all, a new logo has been revealed for Visual Studio 2026, and it has a more modern look than before. Gradients in the logo are now more visible than the Visual Studio 2022 logo.

    When the first preview gets released hopefully before November, there will be over 5,000+ bugs fixed and over 300+ feature requests to be implemented across the entire Visual Studio 2026 suite. Additionally, updates have become a monthly update cadence, and this is currently being experimented with Visual Studio 2022 version 17.14.

    Visual Studio 2026 will still use the legacy .NET Framework that is exclusive to Windows in its main process, but it will stay at 64-bit as 32-bit computers reduce in popularity.

    Visual Studio 2026 will have a more modern UI that was teased to us in Visual Studio 2022 since two years ago. A more fluent design will be used to reduce visual clutter and to increase productivity. UI annoyances will be resolved to further maximize space and to improve user productivity.

    You will be able to theme your Visual Studio 2026 installation to further make it your own, to place your own colors to your IDE in your style. Theme creation will also become easier than ever.

    You will be able to build .NET 10 applications using Visual Studio 2026 to make them benefit from new features and to increase their performance.

    To learn more, check out this excellent blog article from NDepend here.

    Learn more

    #Net #C_ #csharp #dotnet #news #Tech #Technology #update #visualStudio #VisualStudio2025 #VisualStudio2026

  36. Terminaux 7.0 Beta 4 Announcement

    As we are closer to the final release (that we’ve prepared for you), we’ve released the fourth beta version of Terminaux 7.0 that concludes the beta program that we’ve started almost three months ago. Terminaux 7.0 brought many interesting changes, and this beta version is the latest representation of those improvements. We’ve primed the final version of Terminaux 7.0 for documentation and for testing to find bugs even before release.

    We are very excited to announce that Terminaux 7.0 Beta 4 is now available on NuGet as version 7.0.0-beta4, which you can download to your project using the following command:

    $ dotnet add package Terminaux --version 7.0.0-beta4

    This version of Terminaux 7.0 brings many changes that were done after the third beta version released July 3rd. You can access the source code for the fourth beta version here on GitLab.

    We’ve added theme color tools, which allows you to theme your Terminaux applications according to either the pre-defined theme type or the custom theme type that you define in your theme JSON file. This is a 1:1 implementation copied and moved straight from Nitrocid with appropriate modifications done, due to the older template tools being unsuitable for use with Nitrocid. Themes also support accents, which give a dynamic look to your Terminaux applications based on your color accent.

    We’ve also added all features from Nitrocid’s shell implementation, effectively removing the implementation from the Nitrocid codebase. This is to make Terminaux applications using the shell features more powerful than never before. With features like MESH scripting, command redirects, and filesystem support, your applications now became more powerful than before! You can now more easily autocomplete the paths, and you can write scripts for your applications to automate the shell operations.

    We’ve also added a new feature that most libraries don’t have, but appeals to users that prefer their native language. Starting from the fourth beta, your applications can now be localized! With the new localization feature powered by LocaleStation, you can now make your Terminaux application use your native language supported by our libraries! Common languages like French, Spanish, and Portuguese are available for you to try out, and you can use the existing APIs in the LocaleStation library to make Terminaux applications determine what language to use depending on your system culture settings, such as pt-BR for Portuguese (Brazil).

    Of course, we’d improved the performance of your Terminaux applications when it comes to prompting users for a huge list of selections, which is tedious on the processor. We are speaking huge amounts like 700,000 choices! The final release brings more, but Terminaux 7.0 Beta 4 is the start of such improvements!

    Are you ready for Terminaux 7.0 Beta 4?

    #C_ #dotnet #news #Tech #Technology #terminal #terminaux #Terminaux7 #Terminaux70 #update

  37. Terminaux 7.0 Beta 4 Announcement

    As we are closer to the final release (that we’ve prepared for you), we’ve released the fourth beta version of Terminaux 7.0 that concludes the beta program that we’ve started almost three months ago. Terminaux 7.0 brought many interesting changes, and this beta version is the latest representation of those improvements. We’ve primed the final version of Terminaux 7.0 for documentation and for testing to find bugs even before release.

    We are very excited to announce that Terminaux 7.0 Beta 4 is now available on NuGet as version 7.0.0-beta4, which you can download to your project using the following command:

    $ dotnet add package Terminaux --version 7.0.0-beta4

    This version of Terminaux 7.0 brings many changes that were done after the third beta version released July 3rd. You can access the source code for the fourth beta version here on GitLab.

    We’ve added theme color tools, which allows you to theme your Terminaux applications according to either the pre-defined theme type or the custom theme type that you define in your theme JSON file. This is a 1:1 implementation copied and moved straight from Nitrocid with appropriate modifications done, due to the older template tools being unsuitable for use with Nitrocid. Themes also support accents, which give a dynamic look to your Terminaux applications based on your color accent.

    We’ve also added all features from Nitrocid’s shell implementation, effectively removing the implementation from the Nitrocid codebase. This is to make Terminaux applications using the shell features more powerful than never before. With features like MESH scripting, command redirects, and filesystem support, your applications now became more powerful than before! You can now more easily autocomplete the paths, and you can write scripts for your applications to automate the shell operations.

    We’ve also added a new feature that most libraries don’t have, but appeals to users that prefer their native language. Starting from the fourth beta, your applications can now be localized! With the new localization feature powered by LocaleStation, you can now make your Terminaux application use your native language supported by our libraries! Common languages like French, Spanish, and Portuguese are available for you to try out, and you can use the existing APIs in the LocaleStation library to make Terminaux applications determine what language to use depending on your system culture settings, such as pt-BR for Portuguese (Brazil).

    Of course, we’d improved the performance of your Terminaux applications when it comes to prompting users for a huge list of selections, which is tedious on the processor. We are speaking huge amounts like 700,000 choices! The final release brings more, but Terminaux 7.0 Beta 4 is the start of such improvements!

    Are you ready for Terminaux 7.0 Beta 4?

    #C_ #dotnet #news #Tech #Technology #terminal #terminaux #Terminaux7 #Terminaux70 #update

  38. Terminaux 7.0 Beta 4 Announcement

    As we are closer to the final release (that we’ve prepared for you), we’ve released the fourth beta version of Terminaux 7.0 that concludes the beta program that we’ve started almost three months ago. Terminaux 7.0 brought many interesting changes, and this beta version is the latest representation of those improvements. We’ve primed the final version of Terminaux 7.0 for documentation and for testing to find bugs even before release.

    We are very excited to announce that Terminaux 7.0 Beta 4 is now available on NuGet as version 7.0.0-beta4, which you can download to your project using the following command:

    $ dotnet add package Terminaux --version 7.0.0-beta4

    This version of Terminaux 7.0 brings many changes that were done after the third beta version released July 3rd. You can access the source code for the fourth beta version here on GitLab.

    We’ve added theme color tools, which allows you to theme your Terminaux applications according to either the pre-defined theme type or the custom theme type that you define in your theme JSON file. This is a 1:1 implementation copied and moved straight from Nitrocid with appropriate modifications done, due to the older template tools being unsuitable for use with Nitrocid. Themes also support accents, which give a dynamic look to your Terminaux applications based on your color accent.

    We’ve also added all features from Nitrocid’s shell implementation, effectively removing the implementation from the Nitrocid codebase. This is to make Terminaux applications using the shell features more powerful than never before. With features like MESH scripting, command redirects, and filesystem support, your applications now became more powerful than before! You can now more easily autocomplete the paths, and you can write scripts for your applications to automate the shell operations.

    We’ve also added a new feature that most libraries don’t have, but appeals to users that prefer their native language. Starting from the fourth beta, your applications can now be localized! With the new localization feature powered by LocaleStation, you can now make your Terminaux application use your native language supported by our libraries! Common languages like French, Spanish, and Portuguese are available for you to try out, and you can use the existing APIs in the LocaleStation library to make Terminaux applications determine what language to use depending on your system culture settings, such as pt-BR for Portuguese (Brazil).

    Of course, we’d improved the performance of your Terminaux applications when it comes to prompting users for a huge list of selections, which is tedious on the processor. We are speaking huge amounts like 700,000 choices! The final release brings more, but Terminaux 7.0 Beta 4 is the start of such improvements!

    Are you ready for Terminaux 7.0 Beta 4?

    #C_ #dotnet #news #Tech #Technology #terminal #terminaux #Terminaux7 #Terminaux70 #update

  39. Terminaux 7.0 Beta 4 Announcement

    As we are closer to the final release (that we’ve prepared for you), we’ve released the fourth beta version of Terminaux 7.0 that concludes the beta program that we’ve started almost three months ago. Terminaux 7.0 brought many interesting changes, and this beta version is the latest representation of those improvements. We’ve primed the final version of Terminaux 7.0 for documentation and for testing to find bugs even before release.

    We are very excited to announce that Terminaux 7.0 Beta 4 is now available on NuGet as version 7.0.0-beta4, which you can download to your project using the following command:

    $ dotnet add package Terminaux --version 7.0.0-beta4

    This version of Terminaux 7.0 brings many changes that were done after the third beta version released July 3rd. You can access the source code for the fourth beta version here on GitLab.

    We’ve added theme color tools, which allows you to theme your Terminaux applications according to either the pre-defined theme type or the custom theme type that you define in your theme JSON file. This is a 1:1 implementation copied and moved straight from Nitrocid with appropriate modifications done, due to the older template tools being unsuitable for use with Nitrocid. Themes also support accents, which give a dynamic look to your Terminaux applications based on your color accent.

    We’ve also added all features from Nitrocid’s shell implementation, effectively removing the implementation from the Nitrocid codebase. This is to make Terminaux applications using the shell features more powerful than never before. With features like MESH scripting, command redirects, and filesystem support, your applications now became more powerful than before! You can now more easily autocomplete the paths, and you can write scripts for your applications to automate the shell operations.

    We’ve also added a new feature that most libraries don’t have, but appeals to users that prefer their native language. Starting from the fourth beta, your applications can now be localized! With the new localization feature powered by LocaleStation, you can now make your Terminaux application use your native language supported by our libraries! Common languages like French, Spanish, and Portuguese are available for you to try out, and you can use the existing APIs in the LocaleStation library to make Terminaux applications determine what language to use depending on your system culture settings, such as pt-BR for Portuguese (Brazil).

    Of course, we’d improved the performance of your Terminaux applications when it comes to prompting users for a huge list of selections, which is tedious on the processor. We are speaking huge amounts like 700,000 choices! The final release brings more, but Terminaux 7.0 Beta 4 is the start of such improvements!

    Are you ready for Terminaux 7.0 Beta 4?

    #C_ #dotnet #news #Tech #Technology #terminal #terminaux #Terminaux7 #Terminaux70 #update

  40. Terminaux 7.0 Beta 4 Announcement

    As we are closer to the final release (that we’ve prepared for you), we’ve released the fourth beta version of Terminaux 7.0 that concludes the beta program that we’ve started almost three months ago. Terminaux 7.0 brought many interesting changes, and this beta version is the latest representation of those improvements. We’ve primed the final version of Terminaux 7.0 for documentation and for testing to find bugs even before release.

    We are very excited to announce that Terminaux 7.0 Beta 4 is now available on NuGet as version 7.0.0-beta4, which you can download to your project using the following command:

    $ dotnet add package Terminaux --version 7.0.0-beta4

    This version of Terminaux 7.0 brings many changes that were done after the third beta version released July 3rd. You can access the source code for the fourth beta version here on GitLab.

    We’ve added theme color tools, which allows you to theme your Terminaux applications according to either the pre-defined theme type or the custom theme type that you define in your theme JSON file. This is a 1:1 implementation copied and moved straight from Nitrocid with appropriate modifications done, due to the older template tools being unsuitable for use with Nitrocid. Themes also support accents, which give a dynamic look to your Terminaux applications based on your color accent.

    We’ve also added all features from Nitrocid’s shell implementation, effectively removing the implementation from the Nitrocid codebase. This is to make Terminaux applications using the shell features more powerful than never before. With features like MESH scripting, command redirects, and filesystem support, your applications now became more powerful than before! You can now more easily autocomplete the paths, and you can write scripts for your applications to automate the shell operations.

    We’ve also added a new feature that most libraries don’t have, but appeals to users that prefer their native language. Starting from the fourth beta, your applications can now be localized! With the new localization feature powered by LocaleStation, you can now make your Terminaux application use your native language supported by our libraries! Common languages like French, Spanish, and Portuguese are available for you to try out, and you can use the existing APIs in the LocaleStation library to make Terminaux applications determine what language to use depending on your system culture settings, such as pt-BR for Portuguese (Brazil).

    Of course, we’d improved the performance of your Terminaux applications when it comes to prompting users for a huge list of selections, which is tedious on the processor. We are speaking huge amounts like 700,000 choices! The final release brings more, but Terminaux 7.0 Beta 4 is the start of such improvements!

    Are you ready for Terminaux 7.0 Beta 4?

    #C_ #dotnet #news #Tech #Technology #terminal #terminaux #Terminaux7 #Terminaux70 #update

  41. Terminaux 7.0 Beta 1 is Live!

    Starting from today, we are very thrilled to announce the first beta version for an upcoming version of the Terminaux library, the seventh major version, under the beta program. Beta versions of Terminaux 7.0 allows you to try it out in its early access phase for you to report bugs and give feedback when developing Terminaux apps.

    This beta program will end when the new version of Terminaux is ready, and next beta versions of Terminaux 7.0 will be released when required. This beta program will consist of several beta versions to ensure that we deliver this new version of Terminaux in its highest quality possible and to fix all bugs (obvious or not) prior to the official release.

    The first beta version of Terminaux offers new features and enhancements to existing features, such as improvements to the cyclic writers. These make sure that they improve your development experience when building Terminaux apps.

    The beta versions will be suffixed with the representative -beta version according to the semantic versioning guidelines, and this is important to help you identify whether you’re using the beta version or the official release. Those packages will be released on NuGet, just like all other stable releases. In GitHub, those releases will be branded as the “pre-release” versions to let you know.

    If you have any feedback, bugs, or suggestions, please send them to our GitHub issues via this link. Your feedback is essential in helping us identify areas for further improvements and to enhance user experience.

    #bassboom #beta #BetaProgram #C_ #csharp #news #nitrocid #Programming #Tech #Technology #terminaux #update

  42. Introducing the Terminaux Beta Program

    We are excited to announce the first beta program for an upcoming version of the Terminaux library, the seventh major version. This program allows you to try out the new version of Terminaux in its early access phase for you to report bugs and give feedback when developing Terminaux apps.

    This beta program will commence on May 8th, 2025, and will end when the new version of Terminaux is ready. This program will consist of several beta versions to ensure that we deliver this new version of Terminaux in its highest quality possible and to fix all bugs (obvious or not) prior to the official release.

    The beta versions will be suffixed with the representative -beta version according to the semantic versioning guidelines, and this is important to help you identify whether you’re using the beta version or the official release. Those packages will be released on NuGet, just like all other stable releases. In GitHub, those releases will be branded as the “pre-release” versions to let you know.

    If you have any feedback, bugs, or suggestions, please send them to our GitHub issues via this link. Your feedback is essential in helping us identify areas for further improvements and to enhance user experience.

    #bassboom #beta #BetaProgram #C_ #csharp #news #nitrocid #Programming #Tech #Technology #terminaux #update

  43. Imparare a programmare giocando

    Volete imparare a programmare giocando? Oppure siete già in grado ma volete mettere alla prova le vostre conoscenze? Abbiamo quello che fa per voi!

    https://www.lealternative.net/2020/10/07/imparare-a-programmare-giocando/

  44. Mono is back! Mono 6.14.0 released!

    The first major version of Mono has been released after more than five years of no release. The WineHQ project has taken over the development of the .NET Framework version of Mono back on August 2024 after a fork has been made back in February 2024 under the project’s GitLab instance. This major version is under 6.14.0 and is available to download now.

    The release changelogs states that Mono finally has native support for macOS with ARM64 processors, which makes your developer experience when using such machines improved. In addition to that, there have been several improvements regarding System.Windows.Forms for Mono GUI applications to fix resource leaks, to re-implement clipboard and drag-and-drop functionalities, and to improve stability on X11.

    This release has also improved support for generated COM interfaces for apps that use them. Mono should no longer hang when the process is being exited in some common cases. In addition to that, Mono should no longer experience many bugs and many build warnings.

    For Gregorian users, Mono finally has support for the Gregorian language, which means that you can now use Mono in your native language to improve your user experience.

    To download Mono’s source code, click on the button below:

    Download source code

    https://audiomack.com/aptivi/song/mono-is-back-mono-6140-released

    #Net #NetFramework #C_ #csharp #dotnet #FrameworkMono #Mono #MonoRuntime #news #Tech #Technology #update

  45. Try out the .NET 10.0 Alpha SDK!

    .NET 9.0 was released on November 12th, 2024, to provide your applications with brand new features, such as ref struct in interfaces, performance improvements, and bug fixes related to several of the .NET components.

    Not so long after, .NET 10.0 alpha builds were spotted in the main installer GitHub repository, which is public. The table shows the platform table with two releases: .NET 9.0 and the upcoming .NET 10.0, which is going to be another LTS release.

    The upcoming version of .NET will provide you with several of nice features, as well as performance improvements and bug fixes. This .NET version is to be released on November 2025 to accommodate with the release schedule, as well as its first preview to be scheduled for February 2025.

    If you have Visual Studio 17.13 or later (may change across preview releases), you can now try out the Alpha builds of .NET 10.0, which you can find in the above link. Here are the links to .NET 10.0:

    Please note that this software is in its alpha state and may contain features that may not make it to the final release. Use with care.

    Enjoy!

    #Net #Net10 #Net100 #NETConsoleProject #NetCore #NetFramework #NetStandard #azure #C_ #dotnet #runtime #sdk #softwareDevelopment

  46. Reverse Iterations

    Sometimes, we all need a way to iterate over a container in the opposite direction. There are several ways to reverse-iterate a container, and in this article, we’ll explore them.

    Index Iteration

    Probably the simplest way, taken from C is to iterate using an index location:

    for (int64_t index = ssize(container) - 1; index >= 0; --index) {    // do something with `container[index]`}

    This way is highly not recommended as it might lead to infinite loops if done incorrectly (for example by using uint64_t or size_t for the index type), and you can find more issues with this way in some previous articles about iterators in this blog.

    Reverse Iterators

    Another way to iterate a container is by using reverse iterators (rbegin() and rend()):

    for (auto it = container.rbegin(); it != container.rend(); ++it) {    // do something with `*it`}

    This is a more recommended way, but it might be a little bit frustrating compared to a regular for-range loop:

    for (auto elem : container) { /*do something with `elem`*/ }

    The closest way to this method using the standard (before C++20) is:

    std::for_each(container.rbegin(), container.rend(), [](auto elem) {    // so something with `elem`});

    Ranges (C++20)

    If you are using the ranges library, or using at least C++20, you can use the following method to iterate a container in reverse order:

    for (auto elem : container | std::views::reverse) {    // do something with `elem`}

    Custom Reverse Container View

    Another way to use the for-range loop (even if you don’t use C++20 or the ranges library), is to create your own container mask, to modify the behavior of the begin() and end() functions:

    template <typename T>class reverse_view {public:    reverse_view(T& cont) : container(&cont) {}        typename T::reverse_iterator begin() { return container->rbegin(); }    typename T::reverse_iterator end() { return container->rend(); }    private:    T* container;};

    Then, you’ll be able to use it like that:

    std::vector<int> container = {1, 2, 3, 4, 5};for (int elem : reverse_view(container)) {    std::cout << elem << ", ";}

    More Ways

    I hope you learned something new, and feel free to share in the comments if you know other ways to reverse-iterate over a container.

    #advanced #C_ #c11 #c14 #c17 #c20 #containers #Intermediate #Iterators #ranges #reverse #reverseIterators

  47. ADL – Avoid Debugging Later

    Back in the day, being a witch was considered a grave crime. Today, we’re diving into one of C++’s lesser-known spells: ADL (Argument-Dependent Lookup). But before we explore this arcane magic, you must heed a warning—black magic comes with consequences. ADL is particularly treacherous, often leading to frustrating and hard-to-debug issues. Whenever possible, it’s wise to avoid casting this spell unless absolutely necessary.

    Ingredients

    Every spell needs ingredients, this time the only ingredients you need are a C++ compiler and a function that accepts at least one parameter, but there is a try catch, the parameter type has to belong to the same namespace of the function.

    Casting the Spell

    This spell works in shadows—you must look closely to uncover its effect.

    std::cout << "Can you see me?";

    Should the spell have passed you by, I’ll summon its power again for your eyes:

    std::vector<int> a{1}, b{2};swap(a, b);

    If the spell’s effect remains elusive, let’s summon the entire code for you to see:

    #include <vector>int main() {    std::vector<int> a{1}, b{2};    swap(a, b);    return 0;}

    And there it is, I didn’t use using namespace std; and yet I called std::swap function without the std:: prefix.

    Dangerous Path

    Before we dive into unveiling the syntax secrets, this is the place for warning signs. We all know that using namespace std; is considered bad practice—and for a good reason. When you import an entire namespace into your own without being fully aware of the functions and names you’re bringing in, collisions can occur. Such collisions might result in calling an unintended function or class, often one with a slightly different algorithm or mechanism (after all, there’s usually a reason for the identical naming).

    Calling an unexpected function might unintentionally summon dependencies from distant, unforeseen corners of your code, and in doing so, awaken Undefined Behavior lurking quietly in the shadows, waiting for the right moment to strike.

    This ‘spell’ exposes you to the exact same issue, even without explicitly using using namespace. There are situations where you may need to cast this spell to achieve generic or scalable code. However, even in those cases, you must ensure the area is clear. Treat these spell locations as dangerous and suspicious zones—mark them clearly, and suspect them first whenever a bug appears nearby.

    Syntax Ritual: Unveiling the Dark Art of ADL

    This spell was originally crafted to support the well-known foundation of C++ code:

    std::cout << "Hello World";

    This simple, foundational code uses ADL to access std::operator<<(std::ostream&, const char*), as the actual code is:

    std::operator<<(std::cout, "Hello World"); // Without using ADLoperator<<(std::cout, "Hello World"); // Using ADL

    The general idea behind this magic is that the compiler searches for a matching function in the current namespace and in the namespaces of each argument in the function call. For example, in the code above, the operator<< is located in the std namespace, and the argument std::cout also belongs to the same namespace.

    However, there are many more rules regarding what the lookup would contain in each case. The exact rules of the ADL can be found on cppreference.

    A slightly more complex example comes from my experience with the dlib library, which looks like this:

    namespace dlib {    class dense_feature_extractor {    public:        friend void serialize(const dense_feature_extractor& item, std::ostream& out) {            out << "dense_feature_extractor::serialize\n";        }        friend void deserialize(dense_feature_extractor& item, std::istream& in) {            std::cout << "dense_feature_extractor::deserialize\n";        }    };        class matrix {};        void serialize(const matrix& m, std::ostream& out) {        out << "dlib::serialize(matrix)\n";    }        void deserialize(const matrix& m, std::istream& in) {        std::cout << "dlib::deserialize(matrix)\n";    }}

    Now, it becomes interesting: without ADL, we can’t access the serialize and deserialize friend functions inside the dense_feature_extractor class, unless we modify the library to declare them outside the class or make them static functions within the class.

    By casting a few ADL spells, we can craft the following function:

    dlib::matrix m;dlib::dense_feature_extractor d;serialize(m, std::cout); // dlib::serialize(matrix)// same as: dlib::serialize(m, std::cout);serialize(d, std::cout);// dense_feature_extractor::serializedeserialize(m, std::cin); // dlib::deserialize(matrix)// same as: dlib::deserialize(m, std::cin);deserialize(d, std::cin); // dense_feature_extractor::deserialize

    Since the calls appear identical, we can generalize them as follows:

    template <typename T>void dlib_serializer(const T &val) {    serialize(val, std::cout);}template <typename T>void dlib_deserializer(T &val) {    deserialize(val, std::cin);}void func() {    dlib::matrix m;    dlib::dense_feature_extractor d;    dlib_serializer(m);    dlib_serializer(d);    dlib_deserializer(m);    dlib_deserializer(d);}

    The Spell You Might Unintentionally Already Cast

    This spell is subtle and elusive, and you may already be summoning it without even noticing—simply by forgetting the std:: prefix (or any other namespace’s arcane sigil). The silver lining is that now, armed with this knowledge, you’ll be able to spot its presence in any code that calls upon it.

    Special Thanks

    • Ellie Bogdanov for spelling assistance.
    • ChatGPT for the logo and for grammar and spelling assistance.

    #adl #advanced #ArgumentDependentLookup #C_ #coding #cpp #debug #dlib #include #Intermediate #magic #namespace #programming #spell #spells #usingNamespace

  48. Imparare a programmare giocando

    Volete imparare a programmare giocando? Oppure siete già in grado ma volete mettere alla prova le vostre conoscenze? Abbiamo quello che fa per voi!

    https://www.lealternative.net/2020/10/07/imparare-a-programmare-giocando/

  49. Imparare a programmare giocando

    Volete imparare a programmare giocando? Oppure siete già in grado ma volete mettere alla prova le vostre conoscenze? Abbiamo quello che fa per voi!

    https://www.lealternative.net/2020/10/07/imparare-a-programmare-giocando/

  50. Imparare a programmare giocando

    Volete imparare a programmare giocando? Oppure siete già in grado ma volete mettere alla prova le vostre conoscenze? Abbiamo quello che fa per voi!

    https://www.lealternative.net/2020/10/07/imparare-a-programmare-giocando/