Blog

  • giles-eco-freddie

    Mozilla Public License Version 2.0
    ==================================
    
    1. Definitions
    --------------
    
    1.1. "Contributor"
        means each individual or legal entity that creates, contributes to
        the creation of, or owns Covered Software.
    
    1.2. "Contributor Version"
        means the combination of the Contributions of others (if any) used
        by a Contributor and that particular Contributor's Contribution.
    
    1.3. "Contribution"
        means Covered Software of a particular Contributor.
    
    1.4. "Covered Software"
        means Source Code Form to which the initial Contributor has attached
        the notice in Exhibit A, the Executable Form of such Source Code
        Form, and Modifications of such Source Code Form, in each case
        including portions thereof.
    
    1.5. "Incompatible With Secondary Licenses"
        means
    
        (a) that the initial Contributor has attached the notice described
            in Exhibit B to the Covered Software; or
    
        (b) that the Covered Software was made available under the terms of
            version 1.1 or earlier of the License, but not also under the
            terms of a Secondary License.
    
    1.6. "Executable Form"
        means any form of the work other than Source Code Form.
    
    1.7. "Larger Work"
        means a work that combines Covered Software with other material, in
        a separate file or files, that is not Covered Software.
    
    1.8. "License"
        means this document.
    
    1.9. "Licensable"
        means having the right to grant, to the maximum extent possible,
        whether at the time of the initial grant or subsequently, any and
        all of the rights conveyed by this License.
    
    1.10. "Modifications"
        means any of the following:
    
        (a) any file in Source Code Form that results from an addition to,
            deletion from, or modification of the contents of Covered
            Software; or
    
        (b) any new file in Source Code Form that contains any Covered
            Software.
    
    1.11. "Patent Claims" of a Contributor
        means any patent claim(s), including without limitation, method,
        process, and apparatus claims, in any patent Licensable by such
        Contributor that would be infringed, but for the grant of the
        License, by the making, using, selling, offering for sale, having
        made, import, or transfer of either its Contributions or its
        Contributor Version.
    
    1.12. "Secondary License"
        means either the GNU General Public License, Version 2.0, the GNU
        Lesser General Public License, Version 2.1, the GNU Affero General
        Public License, Version 3.0, or any later versions of those
        licenses.
    
    1.13. "Source Code Form"
        means the form of the work preferred for making modifications.
    
    1.14. "You" (or "Your")
        means an individual or a legal entity exercising rights under this
        License. For legal entities, "You" includes any entity that
        controls, is controlled by, or is under common control with You. For
        purposes of this definition, "control" means (a) the power, direct
        or indirect, to cause the direction or management of such entity,
        whether by contract or otherwise, or (b) ownership of more than
        fifty percent (50%) of the outstanding shares or beneficial
        ownership of such entity.
    
    2. License Grants and Conditions
    --------------------------------
    
    2.1. Grants
    
    Each Contributor hereby grants You a world-wide, royalty-free,
    non-exclusive license:
    
    (a) under intellectual property rights (other than patent or trademark)
        Licensable by such Contributor to use, reproduce, make available,
        modify, display, perform, distribute, and otherwise exploit its
        Contributions, either on an unmodified basis, with Modifications, or
        as part of a Larger Work; and
    
    (b) under Patent Claims of such Contributor to make, use, sell, offer
        for sale, have made, import, and otherwise transfer either its
        Contributions or its Contributor Version.
    
    2.2. Effective Date
    
    The licenses granted in Section 2.1 with respect to any Contribution
    become effective for each Contribution on the date the Contributor first
    distributes such Contribution.
    
    2.3. Limitations on Grant Scope
    
    The licenses granted in this Section 2 are the only rights granted under
    this License. No additional rights or licenses will be implied from the
    distribution or licensing of Covered Software under this License.
    Notwithstanding Section 2.1(b) above, no patent license is granted by a
    Contributor:
    
    (a) for any code that a Contributor has removed from Covered Software;
        or
    
    (b) for infringements caused by: (i) Your and any other third party's
        modifications of Covered Software, or (ii) the combination of its
        Contributions with other software (except as part of its Contributor
        Version); or
    
    (c) under Patent Claims infringed by Covered Software in the absence of
        its Contributions.
    
    This License does not grant any rights in the trademarks, service marks,
    or logos of any Contributor (except as may be necessary to comply with
    the notice requirements in Section 3.4).
    
    2.4. Subsequent Licenses
    
    No Contributor makes additional grants as a result of Your choice to
    distribute the Covered Software under a subsequent version of this
    License (see Section 10.2) or under the terms of a Secondary License (if
    permitted under the terms of Section 3.3).
    
    2.5. Representation
    
    Each Contributor represents that the Contributor believes its
    Contributions are its original creation(s) or it has sufficient rights
    to grant the rights to its Contributions conveyed by this License.
    
    2.6. Fair Use
    
    This License is not intended to limit any rights You have under
    applicable copyright doctrines of fair use, fair dealing, or other
    equivalents.
    
    2.7. Conditions
    
    Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
    in Section 2.1.
    
    3. Responsibilities
    -------------------
    
    3.1. Distribution of Source Form
    
    All distribution of Covered Software in Source Code Form, including any
    Modifications that You create or to which You contribute, must be under
    the terms of this License. You must inform recipients that the Source
    Code Form of the Covered Software is governed by the terms of this
    License, and how they can obtain a copy of this License. You may not
    attempt to alter or restrict the recipients' rights in the Source Code
    Form.
    
    3.2. Distribution of Executable Form
    
    If You distribute Covered Software in Executable Form then:
    
    (a) such Covered Software must also be made available in Source Code
        Form, as described in Section 3.1, and You must inform recipients of
        the Executable Form how they can obtain a copy of such Source Code
        Form by reasonable means in a timely manner, at a charge no more
        than the cost of distribution to the recipient; and
    
    (b) You may distribute such Executable Form under the terms of this
        License, or sublicense it under different terms, provided that the
        license for the Executable Form does not attempt to limit or alter
        the recipients' rights in the Source Code Form under this License.
    
    3.3. Distribution of a Larger Work
    
    You may create and distribute a Larger Work under terms of Your choice,
    provided that You also comply with the requirements of this License for
    the Covered Software. If the Larger Work is a combination of Covered
    Software with a work governed by one or more Secondary Licenses, and the
    Covered Software is not Incompatible With Secondary Licenses, this
    License permits You to additionally distribute such Covered Software
    under the terms of such Secondary License(s), so that the recipient of
    the Larger Work may, at their option, further distribute the Covered
    Software under the terms of either this License or such Secondary
    License(s).
    
    3.4. Notices
    
    You may not remove or alter the substance of any license notices
    (including copyright notices, patent notices, disclaimers of warranty,
    or limitations of liability) contained within the Source Code Form of
    the Covered Software, except that You may alter any license notices to
    the extent required to remedy known factual inaccuracies.
    
    3.5. Application of Additional Terms
    
    You may choose to offer, and to charge a fee for, warranty, support,
    indemnity or liability obligations to one or more recipients of Covered
    Software. However, You may do so only on Your own behalf, and not on
    behalf of any Contributor. You must make it absolutely clear that any
    such warranty, support, indemnity, or liability obligation is offered by
    You alone, and You hereby agree to indemnify every Contributor for any
    liability incurred by such Contributor as a result of warranty, support,
    indemnity or liability terms You offer. You may include additional
    disclaimers of warranty and limitations of liability specific to any
    jurisdiction.
    
    4. Inability to Comply Due to Statute or Regulation
    ---------------------------------------------------
    
    If it is impossible for You to comply with any of the terms of this
    License with respect to some or all of the Covered Software due to
    statute, judicial order, or regulation then You must: (a) comply with
    the terms of this License to the maximum extent possible; and (b)
    describe the limitations and the code they affect. Such description must
    be placed in a text file included with all distributions of the Covered
    Software under this License. Except to the extent prohibited by statute
    or regulation, such description must be sufficiently detailed for a
    recipient of ordinary skill to be able to understand it.
    
    5. Termination
    --------------
    
    5.1. The rights granted under this License will terminate automatically
    if You fail to comply with any of its terms. However, if You become
    compliant, then the rights granted under this License from a particular
    Contributor are reinstated (a) provisionally, unless and until such
    Contributor explicitly and finally terminates Your grants, and (b) on an
    ongoing basis, if such Contributor fails to notify You of the
    non-compliance by some reasonable means prior to 60 days after You have
    come back into compliance. Moreover, Your grants from a particular
    Contributor are reinstated on an ongoing basis if such Contributor
    notifies You of the non-compliance by some reasonable means, this is the
    first time You have received notice of non-compliance with this License
    from such Contributor, and You become compliant prior to 30 days after
    Your receipt of the notice.
    
    5.2. If You initiate litigation against any entity by asserting a patent
    infringement claim (excluding declaratory judgment actions,
    counter-claims, and cross-claims) alleging that a Contributor Version
    directly or indirectly infringes any patent, then the rights granted to
    You by any and all Contributors for the Covered Software under Section
    2.1 of this License shall terminate.
    
    5.3. In the event of termination under Sections 5.1 or 5.2 above, all
    end user license agreements (excluding distributors and resellers) which
    have been validly granted by You or Your distributors under this License
    prior to termination shall survive termination.
    
    ************************************************************************
    *                                                                      *
    *  6. Disclaimer of Warranty                                           *
    *  -------------------------                                           *
    *                                                                      *
    *  Covered Software is provided under this License on an "as is"       *
    *  basis, without warranty of any kind, either expressed, implied, or  *
    *  statutory, including, without limitation, warranties that the       *
    *  Covered Software is free of defects, merchantable, fit for a        *
    *  particular purpose or non-infringing. The entire risk as to the     *
    *  quality and performance of the Covered Software is with You.        *
    *  Should any Covered Software prove defective in any respect, You     *
    *  (not any Contributor) assume the cost of any necessary servicing,   *
    *  repair, or correction. This disclaimer of warranty constitutes an   *
    *  essential part of this License. No use of any Covered Software is   *
    *  authorized under this License except under this disclaimer.         *
    *                                                                      *
    ************************************************************************
    
    ************************************************************************
    *                                                                      *
    *  7. Limitation of Liability                                          *
    *  --------------------------                                          *
    *                                                                      *
    *  Under no circumstances and under no legal theory, whether tort      *
    *  (including negligence), contract, or otherwise, shall any           *
    *  Contributor, or anyone who distributes Covered Software as          *
    *  permitted above, be liable to You for any direct, indirect,         *
    *  special, incidental, or consequential damages of any character      *
    *  including, without limitation, damages for lost profits, loss of    *
    *  goodwill, work stoppage, computer failure or malfunction, or any    *
    *  and all other commercial damages or losses, even if such party      *
    *  shall have been informed of the possibility of such damages. This   *
    *  limitation of liability shall not apply to liability for death or   *
    *  personal injury resulting from such party's negligence to the       *
    *  extent applicable law prohibits such limitation. Some               *
    *  jurisdictions do not allow the exclusion or limitation of           *
    *  incidental or consequential damages, so this exclusion and          *
    *  limitation may not apply to You.                                    *
    *                                                                      *
    ************************************************************************
    
    8. Litigation
    -------------
    
    Any litigation relating to this License may be brought only in the
    courts of a jurisdiction where the defendant maintains its principal
    place of business and such litigation shall be governed by laws of that
    jurisdiction, without reference to its conflict-of-law provisions.
    Nothing in this Section shall prevent a party's ability to bring
    cross-claims or counter-claims.
    
    9. Miscellaneous
    ----------------
    
    This License represents the complete agreement concerning the subject
    matter hereof. If any provision of this License is held to be
    unenforceable, such provision shall be reformed only to the extent
    necessary to make it enforceable. Any law or regulation which provides
    that the language of a contract shall be construed against the drafter
    shall not be used to construe this License against a Contributor.
    
    10. Versions of the License
    ---------------------------
    
    10.1. New Versions
    
    Mozilla Foundation is the license steward. Except as provided in Section
    10.3, no one other than the license steward has the right to modify or
    publish new versions of this License. Each version will be given a
    distinguishing version number.
    
    10.2. Effect of New Versions
    
    You may distribute the Covered Software under the terms of the version
    of the License under which You originally received the Covered Software,
    or under the terms of any subsequent version published by the license
    steward.
    
    10.3. Modified Versions
    
    If you create software not governed by this License, and you want to
    create a new license for such software, you may create and use a
    modified version of this License if you rename the license and remove
    any references to the name of the license steward (except to note that
    such modified license differs from this License).
    
    10.4. Distributing Source Code Form that is Incompatible With Secondary
    Licenses
    
    If You choose to distribute Source Code Form that is Incompatible With
    Secondary Licenses under the terms of this version of the License, the
    notice described in Exhibit B of this License must be attached.
    
    Exhibit A - Source Code Form License Notice
    -------------------------------------------
    
      This Source Code Form is subject to the terms of the Mozilla Public
      License, v. 2.0. If a copy of the MPL was not distributed with this
      file, You can obtain one at http://mozilla.org/MPL/2.0/.
    
    If it is not possible or desirable to put the notice in a particular
    file, then You may include the notice in a location (such as a LICENSE
    file in a relevant directory) where a recipient would be likely to look
    for such a notice.
    
    You may add additional accurate notices of copyright ownership.
    
    Exhibit B - "Incompatible With Secondary Licenses" Notice
    ---------------------------------------------------------
    
      This Source Code Form is "Incompatible With Secondary Licenses", as
      defined by the Mozilla Public License, v. 2.0.
    

    Visit original content creator repository
    https://github.com/diging/giles-eco-freddie

  • sell-digitial-products-using-streamlit-stripe

    Make Money Online using Python + Streamlit

    Learn how to make money online using Python! In this video, you will see how to create a website using Streamlit and sell digital products. To collect the payment, we will be using Stripe. You do not need HTML, CSS or Javascript knowledge to make the website.

    Live Demo

    🚀 https://mytoolbelt.onrender.com/

    Website Screenshot

    Demo

    Video Tutorial

    YouTube Video

    🤓 Check Out My Excel Add-ins

    I’ve developed some handy Excel add-ins that you might find useful:

    • 📊 Dashboard Add-in: Easily create interactive and visually appealing dashboards.
    • 🎨 Cartoon Charts Add-In: Create engaging and fun cartoon-style charts.
    • 🤪 Emoji Add-in: Add a touch of fun to your spreadsheets with emojis.
    • 🛠️ MyToolBelt Add-in: A versatile toolbelt for Excel, featuring:
      • Creation of Pandas DataFrames and Jupyter Notebooks from Excel ranges
      • ChatGPT integration for advanced data analysis
      • And much more!

    🤝 Connect with Me

    Support My Work

    Love my content and want to show appreciation? Why not buy me a coffee to fuel my creative engine? Your support means the world to me! 😊

    ko-fi

    Feedback

    Got some thoughts or suggestions? Don’t hesitate to reach out to me at contact@pythonandvba.com. I’d love to hear from you! 💡 Logo

    Visit original content creator repository https://github.com/Sven-Bo/sell-digitial-products-using-streamlit-stripe
  • resin-rpi-demo

    Soracom’s sample resin.io NodeJS x Cellular based Application

    This sample Application demonstrates how to use Resin.io based App+Device that runs with a Cellular based connection and leverages a NodeJS based docker image that publishes device data to Soracom’s IoT platform.
    This has been tested on Raspberry Pi 3, Raspberry Pi Zero, Raspberry Pi B+ and Nvidia JETSON TX2. It has been designed to work on all current and future devices supported by resin.io
    This application also leverages Soracom’s Harvest service which lets you store and visualise data linked to your Soracom SIM cards.

    Setup

    1. In order to use a 3G Dongle with ResinOS 2.x and Soracom, you will have two choices after creating your Resin.io based App+Device:

      1. Place the soracom GSM configuration file on your device’s SD card in /system-connections/ using the following command: cp soracom /Volume/resin-boot/system-connections/
    2. In your resin.io Application, please make sure to set the following Fleet Configuration variables to ensure that your Cellular modem has enough power:

      1. RESIN_HOST_CONFIG_max_usb_current = 1
      2. RESIN_HOST_CONGIG_safe_mode_gpio = 4
    3. You can also add the following Fleet Configuration variable to save bandwidth when pushing updates to your container:

      1. RESIN_SUPERVISOR_DELTA = 1

    Once this is done, connect the Dongle, boot the device and it should come online on your resin.io dashboard

    Resin.io environment variables

    Our sample Raspberry Pi application uses environment variables to enable a couple of useful features which optimise bandwidth usage and leverage Soracom Harvest and Gate services:

    • CELLULAR_ONLY: This option disables WiFi and Ethernet to ensure your device is running and communicating using Cellular connection
    • CONSOLE_LOGGING: Set to 1 in order to get application logs in Resin.io device console, otherwise logs are written to /data/soracom.log
    • DEBUG: Set to 1 to have debug logging, use in combination with CONSOLE_LOGGING to see logs in resin.io device console
    • SORACOM_HARVEST_INTERVAL: Set the time interval in milliseconds to publish device data to Soracom Harvest Analytics service, be sure to use together with CELLULAR_ONLY as Harvest identifies devices using their connected Soracom SIM card.

    Notes

    It is important to note that we’re using resin/node Docker container in this project, due to potential conflicts with udevd and Modem Manager, we keep udevd off in the container (through supplied entry.sh) which ensures highest level of ResinOS compatibility with Cellular modems
    Be sure to use the latest version of ResinOS in order to have full support of your preferred Hardware

    We’ve tested the following Application with Huawei MS2131, MS2372, ME909, MU709 and Quectel EC21

    Once your application has been successfully started, you will see Soracom’s ASCII logo in resin.io console (with or without CONSOLE_LOGGING enabled):

                  ..;;ttLLCCCCCCLLtt;;..
              ..11CCCCCCCCCCCCCCCCCCCCCC11..
            ::LLCCCCCCttii::,,::iittCCCCCCLL::
          ::CCCCCC11..              ..11CCCCCC::
        ::CCCCCCCCttii::..              ::LLCCCC::
      ..LLCCCCCCCCCCCCCCCCffii::..        ,,LLCCLL..
      11CCCC::,,;;ttLLCCCCCCCCCCCCff11::..  ::CCCC11
    ..CCCC11          ,,;;11LLCCCCCCCCCCCC..  11CCCC..
    iiCCCC,,                  ..::11LLCCCC..  ,,CCCCii
    ttCCff                          ;;CCCC..    ffCCff
    LLCCii                          ;;CCCC..    iiCCLL
    CCCC;;                        ,,11CCCC..    ;;CCCC
    CCCC::                ,,iittLLCCCCCCCC..    ::CCCC
    CCCC;;      ..::iittCCCCCCCCCCCCCCffii      ;;CCCC
    LLCCii    ;;CCCCCCCCCCCCLLttii,,            iiCCLL
    ttCCff    ..LLCCCCtt;;,,          ::        ffCCff
    iiCCCC,,    iiCCCC,,          ,,::tt,,..  ,,CCCCii
    ..CCCC11    ..LLCCtt          ;;LLCCtt..  11CCCC..
      11CCCC::    iiCCCC,,          LLff;;  ::CCCC11
      ..LLCCLL,,  ..LLCCtt  ..tt11..,,  ::,,LLCCLL..
        ::CCCCLL::  iiCCCC::ffCCCC;;    ::LLCCCC::
          ::CCCCCC11,,LLCCCCCCCC11  ..11CCCCCC::
            ,,LLCCCCCCLLCCCCCCffiittCCCCCCLL::
              ..11LLCCCCCCCCCCCCCCCCCCLL11..
                  ..;;ttLLCCCCCCLLtt;;..
    
      ___  ___  _ __ __ _  ___ ___  _ __ ___
     / __|/ _ \| '__/ _` |/ __/ _ \| '_ ` _ \
     \__ \ (_) | | | (_| | (_| (_) | | | | | |
     |___/\___/|_|  \__,_|\___\___/|_| |_| |_|
    
    

    Credits

    Feel free to visit our Soracom website if you’d like to get your Sim card and Dongle as well as learn more about various IoT topics
    And thank you to the folks at Resin.io for making their awesome platform

    Soracom Developers

    Visit original content creator repository https://github.com/soracom-labs/resin-rpi-demo
  • Image-Enhancement

    Image-Enhancement

    Author: Achira Laovong

    Contact: achiralaovong@gmail.com

    Date: 2024-08-10

    This repository is a small project on SRCNN (Super Resolution Convolutional Neural Network) for image enhancement. This is done as a personal project to understand the logic behind SRCNN and how it works. This project is implemented using TensorFlow and Keras. The dataset used for training is the DIV2K dataset which is a high-quality dataset for image super-resolution. The dataset can be downloaded from here.

    Requirements

    • Python 3.10.11
    • TensorFlow 2.17.0
    • Keras 3.4.1
    • Numpy 1.24.3
    • Matplotlib 3.9.1
    • Scikit-Image 0.24.0
    • Scikit-Learn 1.5.1
    • Pillow 10.4.0

    Design

    The SRCNN model is made up of three layers:

    1. Convolutional Layer 1: 9×9 kernel size, 64 filters, ReLU activation, padding = ‘same’, kernel_initializer = ‘glorot_uniform’
    2. Convolutional Layer 2: 3×3 kernel size, 32 filters, ReLU activation, padding = ‘same’, kernel_initializer = ‘glorot_uniform’
    3. Convolutional Layer 3: 5×5 kernel size, 3 filters, Linear activation, padding = ‘same’, kernel_initializer = ‘glorot_uniform’

    The model is trained using the DIV2K dataset. The dataset is divided into 560 images for training, 120 images for validation, and 120 images for testing. The images are cropped to 512×512 pixels and downsampled to x3 smaller size and scaled back to 512×512 pixels using bicubic interpolation.

    The model is trained using a custom loss function using the mean squared error (MSE), structural similarity index (SSIM), and VGG19 loss. The loss function is defined as follows:

    loss = 0.8 * sigmoid(MSE) + 0.1 * (1 - (1 + SSIM)/2)) + 0.1 * sigmoid(VGG19_loss)
    

    This loss function is used to balance the trade-off between the MSE, SSIM, and VGG19 Perceptual loss. This custom loss function is not optimal and can be improved.

    The model is trained using the Adam optimizer with a learning rate of 1e-4 and a batch size of 2. The model is trained for 100 epochs with early stopping if the validation loss does not improve for 10 epochs.

    Results

    The model is evaluated using the test dataset. The results are shown below:

    Original Image:

    Original Image

    Bicubic Interpolation:

    Bicubic Interpolation

    SRCNN:

    SRCNN

    SRCNN’s Overall Evaluation Metrics:

    • Average PSNR: 30.1528
    • Average SSIM: 0.8926
    • Average MSE: 107.8839
    • Range of PSNR: 18.9426 – 49.5030
    • Range of SSIM: 0.5610 – 0.9918
    • Range of MSE: 0.7291 – 829.5155

    Bicubic Interpolation’s Overall Evaluation Metrics:

    • Average PSNR: 34.2904
    • Average SSIM: 0.8825
    • Average MSE: 93.8065
    • Range of PSNR: 18.7908 – 58.9477
    • Range of SSIM: 0.4983 – 0.9982
    • Range of MSE: 0.0829 – 859.0077

    Although the Bicubic Interpolation scores higher for most of the evaluation metrics, the SRCNN model is able to produce better visual results compared to Bicubic Interpolation as shown in the images above.

    References

    Visit original content creator repository https://github.com/AchiraLaovong/Image-Enhancement
  • magento2-module-wordpress-integration-cms

    Magento screenshot

    Mooore WordPress Integration Cms

    Packagist Version Supported Magento Versions Compatible with Hyva license

    Magento 2 module for integrating WordPress pages in to your Magento 2 frontend. Giving you the power of a real CMS system via WordPress inside Magento 2.

    Installation

    composer require mooore/magento2-module-wordpress-integration-cms
    bin/magento setup:upgrade

    ⚠️ This module is still in its Beta phase. So with any new version it might break something from the previous version. Use at your own risk.

    How to use

    When the module is installed. You can add your wordpress domain to the Content > WordPress Sites. This is the base URL.

    After this, all pages will be available as dropdown in your Magento CMS pages.

    For more in-depth instructions please see the wiki

    Styles/Script

    All styles are loaded by default with your theme.

    The blocks are loaded as an separate style for only WordPress Integration pages.

    The custom styles are loaded with your main theme styles, which offers an option to hook in to the WordPress block styles.

    This works for the Luma (LESS), Snowdog Blank (SCSS) and Hyva themes.

    Support

    Is something missing or found a bug. Feel free to support this Module by adding a Issue or Pull Request.

    Have something cool that extend on this module share it

    Block Compatibility Issues

    If a block does match your WordPress styling or is missing a feature, please first check the following points before opening a issues;

    Your WordPress theme is made for the new full page editing

    If this is the case, please take note these block styles are not compatible for any themes that support full page editing.

    This could be for example the TwentyTwentyTwo theme.

    You can do the following options;

    • Use an older theme like TwentyTwentyOne
    • Disable the block options
    My theme has an option that does not show on the Magento 2 side

    This can mean 2 posible things;

    1. Your custom option has no styles on the Magento side
    2. Your custom option creates inline styles on the WordPress side

    If it is option 1 you also have an class that with that custom option, simply add the required styles to that class.

    if it is options 2 then there is nothing you can do for now, except disable the option on the WordPress side.

    Visit original content creator repository https://github.com/mooore-digital/magento2-module-wordpress-integration-cms
  • magento2-module-wordpress-integration-cms

    Magento screenshot

    Mooore WordPress Integration Cms

    Packagist Version Supported Magento Versions Compatible with Hyva license

    Magento 2 module for integrating WordPress pages in to your Magento 2 frontend. Giving you the power of a real CMS system via WordPress inside Magento 2.

    Installation

    composer require mooore/magento2-module-wordpress-integration-cms
    bin/magento setup:upgrade

    ⚠️ This module is still in its Beta phase. So with any new version it might break something from the previous version. Use at your own risk.

    How to use

    When the module is installed. You can add your wordpress domain to the Content > WordPress Sites. This is the base URL.

    After this, all pages will be available as dropdown in your Magento CMS pages.

    For more in-depth instructions please see the wiki

    Styles/Script

    All styles are loaded by default with your theme.

    The blocks are loaded as an separate style for only WordPress Integration pages.

    The custom styles are loaded with your main theme styles, which offers an option to hook in to the WordPress block styles.

    This works for the Luma (LESS), Snowdog Blank (SCSS) and Hyva themes.

    Support

    Is something missing or found a bug. Feel free to support this Module by adding a Issue or Pull Request.

    Have something cool that extend on this module share it

    Block Compatibility Issues

    If a block does match your WordPress styling or is missing a feature, please first check the following points before opening a issues;

    Your WordPress theme is made for the new full page editing

    If this is the case, please take note these block styles are not compatible for any themes that support full page editing.

    This could be for example the TwentyTwentyTwo theme.

    You can do the following options;

    • Use an older theme like TwentyTwentyOne
    • Disable the block options
    My theme has an option that does not show on the Magento 2 side

    This can mean 2 posible things;

    1. Your custom option has no styles on the Magento side
    2. Your custom option creates inline styles on the WordPress side

    If it is option 1 you also have an class that with that custom option, simply add the required styles to that class.

    if it is options 2 then there is nothing you can do for now, except disable the option on the WordPress side.

    Visit original content creator repository https://github.com/mooore-digital/magento2-module-wordpress-integration-cms
  • river

    River

    D

    River provides a base interface describing a so-called “stream” interface, this entails the following methods:

    1. read(byte[] buff)
      • Reads into the provided buffer, buff, at most the number of bytes equal to the length of buff and at least 1 byte
      • On any error a StreamException is thrown
    2. readFully(byte[] buff)
      • Similar to read(byte[]) except it will block until the number of bytes read is exactly equal to the length of buff
      • On any error a StreamException is thrown
    3. write(byte[] buff)
      • Writes from the provided buffer, buff, at most the number of bytes equal to the length of buff and at least 1 byte
      • On any error a StreamException is thrown
    4. writeFully(byte[] buff)
      • Similar to write(byte[]) except it will block until the number of bytes written is exactly equal to the length of buff
      • On any error a StreamException is thrown
    5. close()
      • Closes the stream
      • On any error a StreamException is thrown

    Checkout the Streams API.

    Implementations

    To go along with the streams API we also offer a few implementations of useful stream-types which you can use right away (or extend) within your application, these include:

    1. SockStream
      • Provides a streamable access to a Socket
      • Note, only works with SocketType.STREAM
    2. PipeStream
      • Provides a streamable access to a pipe pair of file descriptors
      • Note, only supports POSIX-like systems to far

    … see the rest;

    Visit original content creator repository https://github.com/deavmi/river
  • in-bio-micro-saas

    🪪 ProjectInBio Micro SaaS

    ProjectInBio serves as a micro SaaS boilerplate, in this case users can create their own shareble page to use on social media such as Linkedin, GitHub, Instagram and others. This app was developed during my studies about micro SaaS app at Rocketseat.

    ProjectInBio Micro SaaS App Preview

    📋 Features

    Public Pages:

    • Home: The main landing page showcasing the product, including a hero section, video presentation, pricing details, and FAQs.
    • Create Your Page: A secondary landing page similar to the home page but featuring an input field for users to enter a custom slug. Submitting the form directs them to social login to proceed.
    • Resources: A landing page optimized for programmatic SEO, targeting specific social networks to promote the service.
    • Pages: Public profile pages created by users, displaying their avatar, name, introduction, social media links, and custom links. Users can also showcase their projects.

    Private Pages:

    • Create Now: After social login, users complete their profile setup by entering a unique slug.
    • Profile: A private version of the public profile with additional features, including edit buttons for all data, page visit analytics, and project click insights. If the user is in the trial period, a top bar prompts them to upgrade.
    • Upgrade: If the trial period expires and the user has no active payment or subscription, this page is displayed to select a plan via Stripe.

    Development:

    • Next.js 15 & React 19: uses the App Router with Server Components for improved performance. Implements unstable_cache to optimize API usage.
    • Mixpanel Analytics: tracks user interactions on the server side and provides custom reports on app activity.
    • Google Tag Manager & Google Analytics: enables custom tracking tags and client-side interaction tracking for detailed analytics.
    • Stripe: handles subscriptions and one-time payments, leveraging webhooks to monitor payment events.
    • Firebase: utilizes Firestore for data persistence and Storage for file management.

    ⚙️ Tech Stack and tools

    Turborepo  PNPM  React  Next.js  Typescript  Auth.js  Google OAuth  T3 Env  Zod  Firebase Firestore Database  Firebase Storage  TailwindCSS  ESLint  Prettier  Vercel  Stripe  Resend  Google Analytics  Mixpanel 

    🔮 Usage

    Setup External Providers

    1️⃣ Stripe
    1. Create and setup your account.
    2. Set test mode on.
    3. Create a product with two prices: a recurring by month and a one-off (charge a one-time fee).
    4. Copy both prices ids and paste on env: recurring on STRIPE_SUBSCRIPTION_PRICE_ID and one-off on STRIPE_PAYMENT_PRICE_ID.
    5. Access Settings / Billing / Customer Portal and activate this resource.
    6. Access Developers / API Keys and copy both publishable and secret key and paste it respectively on NEXT_PUBLIC_STRIPE_PUBLIC_KEY and STRIPE_SECRET_KEY env variables.
    7. To get started with listening events, check out the below section Listen to Stripe events

    2️⃣ Google Cloud API and Services (Auth)
    1. Create or use an existent project
    2. Setup the OAuth consent screen: on authorized domains, add a domain that you own or use vercel.com in case you are deploying and using their domain.
    3. Setup the OAuth Client on Credentials.
      1. Authorized JavaScript Origins: http://localhost:3000 and https://<YOUR_DOMAIN>.
      2. Authorized Redirect URIs: http://localhost:3000/api/auth/callback/google and https://<YOUR_DOMAIN>/api/auth/callback/google
    4. Copy both Client ID and Client Secret and paste it respectively on AUTH_GOOGLE_ID and AUTH_GOOGLE_SECRET env variables.

    3️⃣ Firebase Firestore Database and Storage
    1. Create or use a existent project
    2. Setup Firebase Database and Storage, this last one needs a Google Billing account attached.
    3. Access Project Settings / Service Accounts and generate a private key. A JSON file will be downloaded.
      1. Copy the value of project_id to FIREBASE_PROJECT_ID env variable
      2. Copy the value of private_key to FIREBASE_PRIVATE_KEY env variable
      3. Copy the value of client_email to FIREBASE_CLIENT_EMAIL env variable
    4. Access the Storage section and copy the bucket base url, something like gs://in-bio-micro-saas.firebasestorage.app and paste on FIREBASE_STORAGE_BUCKET env variable without gs://

    4️⃣ Google Analytics, Google Tag Manager and Mixpanel Analytics
    1. NEXT_PUBLIC_GOOGLE_TAG_MANAGER: used to create custom tags for tracking along with Google Analytics. Theses tags are ready to be configured: cta_home_clicks, create_page_effective, create_page_intention, click_to_upgrade and click_to_checkout.
    2. NEXT_PUBLIC_GOOGLE_ANALYTICS: used for tracking interactions on client side.
    3. MIXPANEL_SECRET: used for tracking interactions with these events on server side: page_view, page_create_intend, page_created and checkout_created.

    5️⃣ Misc env
    1. NEXT_PUBLIC_APP_URL: define your base domain or simply http://localhost:3000
    2. NEXT_PUBLIC_TRIAL_DAYS: define the number of days that new users can get free access.
    3. NEXT_PUBLIC_MAX_PROJECTS: define amax number of projects per page.
    4. AUTH_SECRET define a random UUID used on Auth.js.

    Listen to Stripe events

    1️⃣ Localhost
    1. Install Stripe CLI.
    2. Sign in with your account and follow th steps: stripe login
    3. Forward events to webhook: stripe listen --forward-to localhost:3000/api/stripe/webhook
    4. After running the last command, you will receive on terminal a webhook secret key that you can paste on STRIPE_WEBHOOK_SECRET env variable.

    2️⃣ Production
    1. Access Developers / Webhooks
    2. Add an endpoint https://<YOUR_DOMAIN>/api/stripe/webhook and listen to these four events: – customer.subscription.updated – checkout.session.completed – checkout.session.async_payment_succeeded – customer.subscription.deleted
    3. Set STRIPE_WEBHOOK_SECRET env with ‘Signing secret’ on endpoint details page.

    🎨 Figma

    The UI design was provided by Rocketseat, check it out.

    Visit original content creator repository https://github.com/rcrdk/in-bio-micro-saas
  • plotly_semascope

    Semascope 👁️ – Text Visualization Tool

    Semascope 👁️ is a JavaScript-based text visualization tool that utilizes Plotly JS to graphically represent relationships between words in a collection of texts. This tool provides an interactive 3D scatter plot where each point represents a word, and the axes correspond to different properties of the words.

    Demo

    Explore the tool in action at textvisualization.app.

    Dependencies

    • Plotly JS: Ensure you load Plotly JS for the script to work correctly.
    • Corpus_utils: This tool relies on a text mining dataset in tab-separated format prepared by corpus_utils. Make sure to check out corpus_utils for a new statistical method of extracting keywords from a vast collection of texts.

    Usage

    1. Clone the repository.
    2. Load Plotly JS by including the Plotly JS library.
    3. Ensure you have the necessary data in tab-separated format, prepared using Corpus_utils.
    4. Open the index.html file in a web browser.

    Global Variables

    • maxClusterValue: A global variable to store the maximum cluster value.
    • parsedData: A variable to hold the parsed tab-separated dataset.

    Functions

    • updatePlot(): Fetches data from a specified URL, applies user-defined filters, and updates the 3D scatter plot.
    • removeFilters(): Resets filter values to their defaults and updates the plot.
    • heros(), clue(): Sets predefined filter values for specific scenarios and updates the plot.
    • setMaxClusterValue(): Sets filter values to display the maximum cluster value and updates the plot.
    • setreduceDFvalue(): Sets filter values to reduce the document frequency and updates the plot.
    • searchAndUpdatePlot(): Updates the plot based on a user-inputted search word.

    Filter Controls

    • The user can filter data based on parameters such as ‘k’, ‘p’, ‘DF’, ‘fr’, and ‘cluster’.
    • Buttons like ‘heros()’, ‘clue()’, ‘setMaxClusterValue()’, ‘setreduceDFvalue()’ provide convenient ways to apply specific filters.

    Plot Settings

    • The plot is a 3D scatter plot with adjustable width and height.
    • Various axes represent different properties like ‘k’, ‘p’, and ‘Doc Frequency (DF)’.
    • Color and size of markers represent the cluster and frequency values, respectively.
    • The plot allows interactive exploration with hover labels displaying relevant information.

    Customization

    Feel free to customize the tool according to your dataset and requirements by modifying the filter controls, plot settings, and layout parameters in the JavaScript code.

    Dataset

    For the JS viewer to work, you need to input a dataset, which is a tab separated text file in such format, prepared with Corpus_utils.

    The header parameters are explained on textvisualization.app. Here is the formatted table:

    word k p sqrt_kp sum DF DFtoWF cluster pq
    the 1.28857792385278 0.00566397049317553 1.28859037184145 4115 18 0.00437424058323208 2 0.00569623379330303
    emperor 0.0276737248260626 0.0123267537320039 0.0302949484785517 40 2 0.05 7 0.0124805990023336
    new 0.27368851562244 0.0948757865655114 0.289666736889203 47 8 0.170212765957447 5 0.104820736377724
    clothes 0.608283594968966 0.274077127474438 0.667178539607658 29 10 0.344827586206897 4 0.377556814708007
    many 0.993549684902053 0.226712673376116 1.01908763736899 61 14 0.229508196721311 3 0.293180381431992
    years 0.333012627916599 0.222055107299219 0.400257268553098 21 7 0.333333333333333 4 0.285438093858181
    ago 0.572215818866319 0.631898852497187 0.852482904900804 6 4 0.666666666666667 10 1.71664461462283

    Explanation of the columns:

    • word: The word in the dataset.
    • k: Negative Binomial k-value related to the word.
    • p: Negative Binomial p-value related to the word.
    • sqrt_kp: Square root of the product of k and p.
    • sum: Sum of values related to the word.
    • DF: Document Frequency.
    • DFtoWF: Document Frequency to Word Frequency ratio.
    • cluster: Cluster value.
    • pq: Product of p and q.

    index.html Overview

    The index.html file serves as the entry point for the Semascope 👁️ Online Text Visualization App. This HTML file integrates the necessary styles, scripts, and components to create an interactive and visually engaging environment for exploring textual data.

    Key Features:

    • Navigation: The file includes a navigation bar for easy access to different sections of the app.
    • Data Loading: It incorporates buttons to filter and load data from an external dataset (dataset/NBD1597.tab).
    • Visualization: Utilizes Plotly, a JavaScript graphing library, through the included plot.js script to create interactive visualizations of the loaded textual data.
    • User Interaction: Provides user-friendly features such as search functionality, data filtering, and progress indicators.
    • Help Section: Includes a descriptive section that guides users on how to interact with the visualization, interpret the data, and download the dataset.

    index.html file is provided here for illustration purposes and may need customization based on your specific use case or integration requirements.

    Visit original content creator repository
    https://github.com/roverbird/plotly_semascope

  • mlflow-demo

    Visit original content creator repository
    https://github.com/gpsLyfe/mlflow-demo