Category: Blog

  • Hybrid-Cloud-Infrastructure-With-OpenVPN

    Hybrid Cloud Infrastructure Using OpenVPN

    Hybrid cloud means the use of both public cloud platform and on-premises resources. Public cloud platforms, such as Amazon Web Services, Microsoft Azure or Google Cloud platform which offers infrastructure as a service (IaaS). A hybrid cloud enables an organization to extend their datacenter capacity, utilize new cloud-native capabilities, move applications closer to customers, and create a backup and disaster recovery solution with cost-effective high availability. Hybrid cloud has benefits but comes with technical, business and management challenges and requires the expertise of cloud architects.

    Background

    I was asked to automate and orchestrate on-demand Hybrid Cloud Infrastructure which will help us to connect with our client’s private environment to identify loopholes and perform necessary actions requires in their environment.

    Problem

    How to create a Hybrid Environment?

    Solution

    AWS and OpenVPN to the rescue. In this document I am using AWS environment to build my public infrastructure but we can also Azure, GCP or any other cloud infrastructure provider.

    Create Certificate Authority

    We are not going to cover building a certificate authority in this post. We have to build CA and Diffie Hellman Key and then signed our server and client certificates using the CA to be use by OpenVPN. However, we can easily achieve this by using easy-rsa, please follow Setting up your own Certificate Authority.

    Install OpenVPN – Server (AWS Linux 2 AMI)

    yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    yum -y install yum-utils
    yum-config-manager --enable epel
    yum -y install openvpn
    

    Server Configurations – server.conf

    • server.conf

       port 443
       proto tcp
       dev tun
       ca ca.crt
       cert server.crt
       key server.key
       dh dh.pem
       topology subnet
       server 162.200.100.0 255.255.255.0
       route [Your Client Subnet] [Subnet Mask]
       push "route [Your Server Private Subnet] [Subnet Mask]"
       client-config-dir ccd
       ifconfig-pool-persist /var/log/openvpn/ipp.txt
       keepalive 10 120
       cipher AES-256-CBC
       persist-key
       persist-tun
       status /var/log/openvpn/openvpn-status.log
       verb 3
       
    • ccd/client

        iroute [Your Client Subnet] [Subnet Mask]
        

    Client Configurations – client.conf

    • client.conf
       client
       dev tun
       proto tcp
       remote [Your Server Public IP Address]
       port 443
       topology subnet
       resolv-retry infinite
       nobind
       persist-key
       persist-tun
       ca ca.crt
       cert client.crt
       key client.key
       remote-cert-tls server
       cipher AES-256-CBC
       verb 3
       

    Firewalls – Server

    • iptables (IPV4)
        iptables -A FORWARD -i eth+ -o tun+ -j ACCEPT
        iptables -A FORWARD -i tun+ -o eth+ -m state --state RELATED,ESTABLISHED -j ACCEPT
        

    Enable IPv4 Forwarding – changes to /etc/sysctl.conf

    net.ipv4.ip_forward = 1
    

    What about IPV6? [Optional but Interesting]

    You can create a IPv6 tunnel over IPv4 with OpenVPN. Add the following to your server.conf file and there will no changes require to your client.conf file.

    • Server Configurations

      tun-ipv6
      push tun-ipv6
      server-ipv6 2001:0db8:ee00:abcd::/64
      route-ipv6 [Your Client Ipv6 Subnet CIDR]
      push "route-ipv6 [Your Server Ipv6 CIDR]"
      
    • ccd/client

       iroute-ipv6 [Your Client Ipv6 Subnet CIDR]
       
    • ip6tables (IPV6)

        ip6tables -A FORWARD -i eth+ -o tun+ -j ACCEPT
        ip6tables -A FORWARD -i tun+ -o eth+ -m state --state RELATED,ESTABLISHED -j ACCEPT
        
    • Enable Ipv6 forwarding changes to /etc/sysctl.conf

        net.ipv6.conf.default.forwarding = 1
        net.ipv6.conf.all.forwarding = 1
        net.ipv6.conf.eth0.forwarding = 0
        net.ipv6.conf.eth0.accept_ra = 1
        net.ipv6.conf.all.accept_ra = 1
        net.ipv6.conf.default.accept_ra = 1
        

    Discussion

    This will provide you an overview to understand and implement a hybrid solution using AWS and OpenVPN.

    Have you implemented this solution?

    Yes, I implemented using serverless architecture which allows us to automate and orchestrate OpenVPN environment and connect with our clients.

    Is this cost-effective?

    Yes, It’s cheaper than building a hybrid environment using AWS VPN Gateway and AWS Direct Connect.

    Visit original content creator repository
    https://github.com/sandyghai/Hybrid-Cloud-Infrastructure-With-OpenVPN

  • oyanami-msx-megarom

    Oyanami

    TODO: Overview

    This project was built as part of a Leaded Solder blog entry.

    Articles so far about this project:

    If it’s useful to you, please consider supporting the blog through Patreon or Ko-Fi. All money goes directly to future projects like this.

    Build It Yourself!

    The Oyanami board is open-source. You can grab the Gerber files from the Releases page and send those to a fabricator of your choice.

    Recommended settings:

    • ENIG or Hard Gold finishing
    • Beveled or chamfered edge connector

    Known Working Games

    • 1942 (MSX2 version only)
    • Arkanoid 2 – Revenge of DOH
    • Ashguine Story I
    • Bubble Bobble
    • Contra (MSX2; CRC32: 4e82660d)
    • Cyborg Z
    • Digital Devil Story
    • Dragon Buster
    • Dragon Quest 1 (both MSX1, MSX2 versions)
    • Druid
    • F1 Spirit
    • Family Billiards
    • Fantasy Zone 1
    • Final Zone Wolf
    • Ganbare Goemon
    • Gangjeol Robocop
    • Genesis – Dawn of a New Day
    • Hai No Majutsushi
    • Hinotori
    • King Kong 2
    • King’s Valley 2 Edit Contest Edition
    • King’s Valley 2 (MSX2 only)
    • Metal Gear (CRC32: e85c5731)
    • Mr. Ninja Ashura’s Chapter
    • Nemesis (CRC32: 4dfcc009)
    • Nemesis 2
    • Parodius
    • Pengo
    • Penguin Adventure
    • Pennant Race
    • Return of Jelda
    • Salamander
    • Spy vs. Spy II (64kB Konami-mapper version)
    • Seikima 2 Special – Tetsuji
    • Street Master
    • Super Bioman 4
    • Super Boy 3
    • Super Runner
    • Tengoku Yoitoko – Heaven
    • The Fairyland Story
    • The Fantasm Soldier Valis
    • The Maze of Galious: Knightmare 2
    • Topple Zip MSX2
    • Treasure of USAS (MSX2)
    • Vampire Killer (MSX2)
    • Wonsiin
    • Young Sherlock: Legacy of Doyle

    This is an incomplete list, please submit pull requests for any other games you have tested.

    Bill of Materials

    Position Component Digi-Key link Comments
    U1 SST39SF040 DIP EEPROM
    U3 74LS670 DIP Do not use ALS, see below
    U4 74LS02 DIP
    C… 0.1µF through-hole ceramic capacitor
    RN1 10kΩ x 8 (9-pin SIP) resistor network
    SW1 2-pin DIP switch

    I also recommend getting a case for the PCB from somewhere like Retro Game Restore.

    Beware! Using socketed ICs may not leave enough vertical height for a standard Konami-style cartridge case to close.

    74ALS670 has been reported not to work with MSX Turbo-R systems. Please use only the LS variant.

    Version History

    v1.2: In development

    Still in development. Adds write-enable pin to ROM to support in-MSX reflashing.

    v1.1: July 2024

    Initial working version. Supports read-only games.

    Special Thanks

    • bsittler for the help and inspiration to get this figured out;
    • Pax for CRC32s;
    • Annual_Bottle_4639 on Reddit for testing additional games

    Visit original content creator repository
    https://github.com/barbeque/oyanami-msx-megarom

  • godaddy-email-marketing

    GoDaddy Email Marketing

    Banner Image

    Contributors: godaddy, fjarrett, jonathanbardo, eherman24, susanygodaddy, madmimi
    Tags: email, forms, godaddy, [mailing list](https://wordpress.org/plugins/tags/mailing list/), marketing, newsletter, opt-in, signup, subscribe, widget, contacts
    Requires at least: 3.8
    Tested up to: 5.7 Stable tag: 1.4.3 License: GPL-2.0
    License URI: https://www.gnu.org/licenses/gpl-2.0.html

    Add the GoDaddy Email Marketing plugin to your WordPress site! Easy to set up, the plugin allows your site visitors to subscribe to your email lists.

    Build Status devDependencies Status License PHP >= 5.2WordPress >= 3.8

    Description

    The GoDaddy Email Marketing Signup Forms plugin makes it easy to start building an email list to drive repeat traffic to your WordPress site! Use this plugin to add a signup form to your site in no time flat.

    With a GoDaddy Email Marketing starter account, you can collect as many email addresses as you like for free. And you can send up to 50 total emails to try it out. To learn more about GoDaddy Email Marketing, check out an overview here.

    Play video on YouTube

    Once the plugin is activated, you can easily add a default signup form to your site using a widget. Or you can build your own custom signup form in GoDaddy Email Marketing and add it to your site by using a widget, shortcode, or template tag.

    Setup is easy; in the plugin Settings, simply enter your GoDaddy username and GoDaddy Email Marketing API key. Don’t have one? The plugin makes it easy to sign up.

    Official GoDaddy Email Marketing Signup Forms plugin features:

    • Automatically add new forms for users to subscribe to an email list of your choice.
    • Insert unlimited signup forms using the widget, shortcode, or template tag.
    • Try GoDaddy Email Marketing for free — no credit card required.

    Languages Supported:

    • English
    • Dansk
    • Deutsch
    • Ελληνικά
    • Español
    • Español de México
    • Suomi
    • Français
    • हिन्दी
    • Bahasa Indonesia
    • Italiano
    • 日本語
    • 한국어
    • मराठी
    • Bahasa Melayu
    • Norsk bokmål
    • Nederlands
    • Polski
    • Português do Brasil
    • Português
    • Русский
    • Svenska
    • ไทย
    • Tagalog
    • Türkçe
    • Українська
    • Tiếng Việt
    • 简体中文
    • 香港中文版
    • 繁體中文

    Find a bug?

    Please fill out an issue here.

    Installation

    1. Install the plugin manually by uploading a ZIP file, or install it automatically by searching for GoDaddy Email Marketing.
    2. Once the plugin has been installed, click Activate.
    3. Nagivate to Settings > GoDaddy Email Marketing where you will find a Settings tab.
    4. Follow the instructions to access your username and API key. If you don’t have a GoDaddy Email Marketing account, you’ll be able to create one.
    5. Click Save Settings.

    After your account is verified, you can insert a form into your site by using a widget, shortcode, or template tag directly in your theme. See the FAQ section for more details.

    That’s it. You’re ready to go!

    Frequently Asked Questions

    What is GoDaddy Email Marketing?

    GoDaddy Email Marketing is the easiest way to create, send, share, and track email newsletters online. It’s for people who want email marketing to be simple.

    Do I need a GoDaddy Email Marketing account to use this plugin?

    Yes, this plugin requires a GoDaddy Email Marketing account.

    Is there a widget?

    Absolutely. Use it by finding the GoDaddy Email Marketing widget under Appearance > Widgets in the WordPress Dashboard and dragging it into the widget area of your choice. You can then add a title and select a form!

    Is there a shortcode?

    Yes! You can add a form to any post or page by adding the shortcode with the form ID (e.g., [gem id=123456 ]) in the page/post editor.

    Is there a template tag?

    Yup! Add the following template tag into any WordPress theme template file: <?php gem_form( $form_id ); ?>. For example: <?php gem_form( 123456 ); ?> where 123456 is your form ID.

    Where can I find my form IDs?

    To find your form IDs, navigate to Settings > GoDaddy Email Marketing and select the Forms tab. If you’ve recently created new forms click the Refresh Forms button to pull them into your WordPress site.

    Where can I find the API Key?

    You can find your Secret API Key in the Settings section of your GoDaddy Email Marketing account on the right hand side.

    Screenshots

    1. Settings screen.
    2. A full list of your GoDaddy Email Marketing Webforms, with ready shortcodes.
    3. The widget, on the widgets page.
    4. The widget, on the front-end.
    5. GoDaddy Email Marketing widget block.
    6. GoDaddy Email Marketing widget preview, in the block editor.
    7. GoDaddy Email Marketing widget, on the block front-end.

    Changelog

    1.4.3

    • Fix: Remove reference to $ and use jQuery
    • Fix: Fix block icon SVG element so it renders properly in Firefox as well as Chrome.
    • Tweak: Test with and bump support for WordPress 5.4.

    1.4.2

    1.4.1

    • Fix: Update plugin bypassing cache when fetching customer forms
    • Fix: Fix US help tab iframe URL
    • Tweak: Update SelectControl label to GoDaddy Email Marketing Form
    • Tweak: Update strings in Russian translation file. @props beebeatle

    1.4.0

    • New: Introduce GoDaddy Email Marketing content block.

    1.3.0

    • New: Add support for GDPR fields (Age consent, terms of service and tracking option)
    • Fix: Update text domain to match plugin slug.
    • Tweak: Update translation functions and regenerate translations.

    1.2.1

    • Fix: Switch wp_nonce to _wpnonce, fixing the ability to refresh GEM forms.

    1.2.0

    • New: Help tab on the Settings screen
    • New: Dismissible admin notice after on-boarding

    1.1.4

    • Tweak: Indicate support for WordPress 4.7

    1.1.3

    • Fixed: CSRF – thanks to pluginvulnerabilities.com for reporting it

    1.1.2

    • Minor URL fix

    1.1.1

    • Minor improvements and bug fixes.

    1.1.0

    • UI & UX overhaul using tabbed navigation & enhanced admin notices.
    • Added the debug setting to replace the gem_debug filter.
    • Added Shortcake plugin integration for the gem shortcode.
    • Language support for many new locales.

    1.0.6

    • Fixed shortcode display and localization bugs #12
    • Localization updates

    1.0.5

    • Refresh branding

    1.0.4

    • Localization
    • Code style improvements
    • Unit tests

    1.0.3

    • Added support for web form fancy fields
    • Made some styling changes to mobile view

    1.0.2

    • Fixed incorrectly loaded stylesheet
    • Minor style improvements to front-end form output

    1.0.1

    • Move the “Powered by GoDaddy Link” below the submit button and link it up to the correct place

    1.0

    Visit original content creator repository https://github.com/godaddy-wordpress/godaddy-email-marketing
  • ECS-CommunityEdition

    ECS Community Edition

    ECS CE Install Node Image

    ECS Software Image

    Current releases and history are available here.

    Community Guides

    Please read our Community Code of Conduct before contributing. Thank you.

    Description

    EMC ECS is a stateful, containerized, object storage system for cloud storage protocols. ECS is compatible with AWS S3 and OpenStack Swift. On file-enabled buckets, ECS can provide NFS exports for file-level access to objects.

    ECS can be set up on one or more hosts or virtual machines in a single-site or a multi-site geo replicated configuration. We want the wider community to use ECS and provide feedback. Usage of this software is under the End User License Agreement at the bottom of this README.

    ECS Community Edition is a free, reduced footprint, version of Dell EMC’s ECS software. Of course, this means there are some limitations to the use of the software, so the question arises; how is the Community Edition of ECS different from the production version?

    License difference

    As noted with the included license, ECS Community cannot be used in production environments and is intended to be used for trial and proof of concept purposes only. This software is still owned and protected by Dell EMC.

    Feature differences

    It it important to note that ECS-Community Edition is not the same as ECS software and as such lacks some features that are integral to the actual ECS software.

    • ECS Community Edition does NOT support encryption
    • ECS Community Edition does NOT include ECS’ system management, or “fabric”, layer

    Notice

    Because of these differences, ECS Community Edition is absolutely not qualified for testing failure scenarios. Failure scenarios can only be adequately mimicked on the full version of ECS Software.

    Quick Start Guide

    If you have the following:

    1. A CentOS Minimal install of the latest CentOS release with:
      1. 16GB RAM
      2. 16GB block device for system
      3. 104GB block device for ECS
    2. Internet access
    3. No proxies, local mirrors, or special Docker registries

    Then you should be able to get up and going with a Single-Node All-in-One install using these commands on your VM:

    # git clone https://github.com/EMCECS/ECS-CommunityEdition
    # cd ECS-CommunityEdition
    # cp docs/design/reference.deploy.yml deploy.yml
    # echo "Edit this deploy.yml to match your VM's environment"
    # vi deploy.yml
    # ./bootstrap.sh -y -g -c deploy.yml
    

    And then after the node reboots (you did use a clean minimal install from ISO or netinstall right?):

    # step1
    # step2
    

    And if all went well, you now have a working stand-alone ECS, mostly configured, and ready for use.

    Hardware Requirements

    Minimum

    Note: A minimum configuration is only suitable for short-term sandbox testing
    Hardware or virtual machine with:

    • 4 CPU Cores
    • 16GB RAM
    • 16GB root block storage
    • 104GB additional block storage
    • CentOS Minimal installation of the latest CentOS release

    Recommended

    Note: A recommended configuration is more suitable for longer-term functional testing
    Hardware or virtual machine with:

    • 8 CPU Cores
    • 64GB RAM
    • 16GB root block storage
    • 1TB additional block storage
    • CentOS Minimal installation of the latest CentOS release

    Deployment Scenarios

    Deploy into Internet-Connected Environments

    Deploy a stand-alone instance of ECS to a single hardware or virtual machine.

    Deploy a multi-node ECS instance to two or more hardware or virtual machines. Three nodes are required to enable erasure-coding replication.

    Deployments into Soft-Isolated and Air-Gapped Island Environments

    Important information regarding Island deployments

    Please be aware that install node bootstrapping requires Internet access to the hardware or virtual machine that will become the install node, but once this step is complete, the machine can be removed from the Internet and migrated into the Island environment.

    Deploying from OVA

    In situations where Internet access is completely disallowed, or for the sake of convenience, an OVA of a prefabricated, bootstrapped, install node is provided. Please download the OVA from one of the links below.

    The OVA is shipped as a bootstrapped install node. It must be cloned multiple times to create as many Data Store Nodes as desired.

    OVA Special Requirements

    • All nodes MUST be clones of the OVA.
    • All nodes MUST have their virtual hardware configurations updated to match the node type requirements.
    Default Credentials

    • The default password for the admin accounts is ChangeMe. The default password for root is unknowable.
    • For security reasons, it is strongly advised to change the password for admin immediately after installation.
    Network Configuration

    • The OVA is configured to acquire network settings via DHCP. Static configurations must be manually configured with sudo nmtui
    OVA Download Links

    Please see the release page for OVA download links.
    Please validate the package integrity against the provided sha512 hash mentioned for a release, before commencing deployment.

    Using an install node for isolated environments, deploy a stand-alone instance of ECS to a single hardware or virtual machine.

    Using an install node for isolated environments, deploy a multi-node ECS instance to two or more hardware or virtual machines. Three nodes are required to enable erasure-coding replication.

    Directory Structure

    Directory Name Description
    docs Documentation sources; read them online at Read the Docs
    examples Deployment and configuration examples for common scenarios
    contrib Unsupported community-contributed scripts content related to ECS CE
    patches Patches to the ECS Community Edition Docker image
    bootstrap.sh Install Node bootstrap script
    release.conf Installer release information file
    ui Install Node utilities and support files
    bootstrap_plugins Install Node bootstrap script support files

    Support

    Please file bugs and issues at the ECS’s site in the EMC Community Network (ECS’s support site) and you can also use this GitHub’s repository issues page. For more general discussions you can contact the EMC Code team at Google Groups or tagged with EMC on Stack Overflow. The code and documentation are released with no warranties or SLAs and are intended to be supported through a community driven process.

    License Agreement

    EMC ECS Software Limited-Use License Agreement

    This EMC Software License Agreement (the “Agreement”) is a legal agreement between EMC Corporation, with a principal office at 176 South Street, Hopkinton, MA 01748 USA (“EMC”) and you and the organization on whose behalf you are accessing this Agreement (the “Customer”) and governs Customer’s access to, downloading of, and use of any and all components, associated media, printed materials, documentation, and programming accessed via the EMC software (the “Software”).

    By clicking on the “Agree” or check box or similar button set forth below, or by downloading, installing, or using the Software, you are representing to EMC that (i) you are authorized to legally bind the Customer, and (ii) you are agreeing on behalf of the Customer that the terms of this Agreement shall govern the relationship of the parties with regard to the Software.

    If you do not have authority to agree to the terms of this Agreement, or do not accept the terms of this Agreement, click on the “Cancel” or similar button or discontinue your efforts to download the Software, and the registration, download and/or installation process will not continue. In such event, no access to, or authorization to download or use the Software, is granted by EMC.

    EMC and Customer enter into this Agreement and this Agreement shall become effective on the date on which Customer clicks on the “Agree” button described above or downloads, installs or uses the Software, whichever occurs first (the “Effective Date”). NOW, THEREFORE, in consideration of the premises and obligations contained herein, it is agreed as follows:

    1.0 – DEFINITIONS

    1.1 – “Equipment” means the Customer owned storage devices, systems, or central processing units that the Software was designed to run on or with.

    1.2 – “Software” means the free EMC Software made available for download by Customer from a designated EMC web site.

    2.0 – PURPOSE AND SCOPE

    2.1 – The Software shall be used for Customer’s internal business purposes and in accordance with EMC’s instructions and documentation. The Software is available from EMC to Customer at no charge, but only after Customer agrees to the license terms as contained in this Agreement.

    2.2 – Under this Agreement, Customer may use the Software on the related Equipment it owns.

    3.0 LICENSE TERMS

    3.1 – EMC grants Customer a license to use the Software on the Equipment commencing on download for as long as Customer complies with this Agreement. The foregoing licenses shall be non-exclusive, non-transferable, and non-sublicensable and subject to the restriction that the Software be used solely on or in connection with the Equipment for which it was licensed. EMC may terminate licenses, without liability, if Customer breaches this Agreement and fails to cure within thirty (30) days after receipt of EMC’s written notice thereof. Upon termination, Customer shall cease all use and return or certify destruction of Software (including copies) to EMC. Customer shall not, without EMC’s prior written consent, use the Software in a production environment, service bureau capacity, or copy, provide, disclose or otherwise make available Software in any form to anyone other than Customer’s agents, employees, consultants or independent contractors (“Personnel”), who shall use Software solely for Customer’s internal business purposes in a manner consistent with this Agreement. Customer shall be fully responsible to EMC for the compliance of Customer’s personnel herewith.

    3.2 – Software is licensed only. No title to, or ownership of, the Software is transferred to Customer. Customer shall reproduce and include copyright and other proprietary notices on and in any copies, including but not limited to partial, physical or electronic copies, of the Software. Neither Customer nor its personnel shall modify, enhance, supplement, create derivative works from, reverse assemble, reverse engineer, reverse compile or otherwise reduce to human readable form the Software without EMC’s prior written consent. Any third party software that may be provided by EMC shall be governed by the third party’s separate license terms, if any.

    4.0 – DELIVERY AND INSTALLATION

    4.1 – Delivery of the Software is by download only.

    4.2 – EMC shall, as necessary, provide Customer with information to download, install and use the Software.

    5.0 – TERM AND TERMINATION

    5.1 – If Customer fails to perform any of its material covenants, obligations or responsibilities under this Agreement, Customer shall be in default and breach of this Agreement, and EMC shall, in addition to any other remedies, which may be available to EMC under this Agreement, in law or equity, in its sole discretion, have the right to terminate this Agreement and any or all related license(s) granted to Customer by written notice thereto, with such termination to be effective immediately.

    5.2 – EMC may terminate this Agreement for its convenience at any time by providing Customer with a minimum of thirty (30) days prior notice.

    6.0 – NO WARRANTY OR SUPPORT

    6.1 – EMC PROVIDES ALL SOFTWARE HEREUNDER ON AN “AS-IS,” “WHERE IS” BASIS, AND MAKES NO OTHER EXPRESS WARRANTIES, WRITTEN OR ORAL, AND ALL OTHER WARRANTIES ARE SPECIFICALLY EXCLUDED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, AND ANY WARRANTY ARISING BY STATUTE, OPERATION OF LAW, COURSE OF DEALING OR PERFORMANCE, OR USAGE OF TRADE.

    6.2 – EMC shall not provide any technical support, SLA’s, telephone support, on-line support, or support of any kind under this Agreement. Customer is not entitled to receive any updates, upgrades or enhancements of any kind under this Agreement. This includes, but is not limited to, security vulnerabilities that may be applicable to the Software.

    6.3 – No representation or other affirmation of fact, including but not limited to statement regarding capacity, suitability for use or performance of Software, whether made by EMC employees or otherwise, shall be deemed to be a warranty for any purpose or give rise to any liability of EMC whatsoever unless contained in this Agreement.

    7.0 NO INDEMNIFICATION

    7.1 – EMC shall have no liability to Customer for any action (and all prior related claims) brought by or against Customer alleging that Customer’s use or other disposition of any Software infringes any patent, copyright, trade secret or other intellectual property right. In event of such an action, EMC retains the right to terminate this Agreement and take possession of the Software.

    7.2 – THIS SECTION 7.0 STATES EMC’S ENTIRE LIABILITY WITH RESPECT TO ALLEGED INFRINGEMENTS OF INTELLECTUAL PROPERTY RIGHTS BY THE SOFTWARE OR ANY PART OF THEM OR BY ITS OPERATION.

    8.0 LIMITATION OF LIABILITY

    8.1 – EMC’S AND ITS SUPPLIER’S TOTAL LIABILITY AND CUSTOMER’S SOLE AND EXCLUSIVE REMEDY FOR A CLAIM OF DAMAGE TO REAL OR TANGIBLE PERSONAL PROPERTY OR ANY OTHER CLAIM WHATSOEVER, INCLUDING BUT NOT LIMITED TO CLAIMS BASED ON CONTRACT, WARRANTY, NEGLIGENCE OR STRICT LIABILITY IN TORT, THAT ARISES OUT OF OR IN CONNECTION WITH SOFTWARE OR SERVICES PROVIDED HEREUNDER, SHALL BE LIMITED TO PROVEN DIRECT DAMAGES CAUSED BY EMC’S SOLE NEGLIGENCE IN AN AMOUNT NOT TO EXCEED US$5,000. IN NO EVENT SHALL EMC OR ITS SUPPLIERS BE LIABLE FOR CONSEQUENTIAL, INCIDENTAL, INDIRECT, OR SPECIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOSS OF PROFITS, REVENUES, DATA AND/OR USE) EVEN IF ADVISED OF THE POSSIBILITY THEREOF. NEITHER PARTY SHALL BRING ANY CLAIM ARISING OUT OF THE SOFTWARE OR SERVICES PROVIDED HEREUNDER MORE THAN EIGHTEEN (18) MONTHS AFTER SUCH CLAIM HAS ACCRUED.

    8.2 – IF CUSTOMER USES SOFTWARE FOR ANY PURPOSE EXCEPT AS STATED HEREIN OR OTHERWISE AGREED IN WRITING, EMC SHALL HAVE NO LIABILITY WHATSOEVER FOR ANY DAMAGE TO EQUIPMENT OR DATA, OR FINANCIAL LOSSES, RESULTING FROM SUCH USE.

    9.0 GENERAL

    9.1 – Assignment – Customer shall not assign any right or interest hereunder nor delegate any work or other obligation to be performed hereunder to any entity other than its corporate parent, or a division or wholly or majority owned subsidiary of the party or its corporate parent. Any such action in violation of the foregoing shall be void.

    9.2 – Entire Agreement – The terms contained herein constitute the entire agreement between the parties with respect to the subject matter hereof and shall supersede all prior communications and agreements, either oral, written or otherwise recorded.

    9.3 – Compliance with Export Control Laws – Customer shall comply with all applicable export laws, orders and regulations and obtain all necessary governmental permits, licenses and clearances.

    9.4 – Governing Law – This Agreement shall be governed by the laws of the Commonwealth of Massachusetts, excluding its conflict of law rules. The U. N. Convention on Contracts for the International Sale of Goods shall not apply.

    9.5 – Notices – Except for routine communications, all other notices required or permitted hereunder, including but not limited to notices of default or breach, shall be signed by an authorized representative of the sender. Such notices shall be deemed to have been received (i) when hand delivered to such individuals by a representative of the sender; (ii) three (3) days after having been sent postage prepaid, by registered or certified first class mail, return receipt requested; (iii) when sent by electronic transmission, with written confirmation by the method of transmission; or (iv) one (1) day after deposit with an overnight carrier, with written verification of delivery.

    9.6 – No Waiver – No omission or delay by either party in requiring the other party to fulfill its obligations hereunder shall be deemed to constitute a waiver of (i) the right to require the fulfillment of any other obligation hereunder; or (ii) any remedy that may be available hereunder.

    9.7 – Independent Contractors – The parties shall act as independent contractors for all purposes under this Agreement. Nothing contained herein shall be deemed to constitute either party as an agent or representative of the other party, or both parties as joint venturers or partners for any purpose. Neither party shall be responsible for the acts or omissions of the other party, and neither party will have authority to speak for, represent or obligate the other party in any way without an authenticated record indicating the prior approval of the other party.

    9.8 – Separability – If any provision of this Agreement shall be held illegal or unenforceable, such provision shall be deemed separable from, and shall in no way affect or impair the validity or enforceability of, the remaining provisions.

    Visit original content creator repository
    https://github.com/EMCECS/ECS-CommunityEdition

  • 🧮 Performance Evaluation – Project

    🧮 Performance Evaluation – Project

    This is the repository for the projects of Performance Evaluation and Application course held at Polimi.

    Performance Evaluation is the quantitative and qualitative study of systems, to evaluate, measure, predict and ensure target behaviors and performances. The main topics of the course are:

    • Introduction to performance indices and measures
    • Workload and Service characterization
    • Analytical models
    • Simulation and resource contention

    The coverage of this topics was done through the development of 20 assignment and a final project to put in practice all the knowledge acquired.

    🛠️ All the projects were developed in MatLab and Java Modeling Tool (JMT).


    ⏰ Assignment

    In the relative folder all the 20 assignments are present. For each assignment a Matlab\JMT application is present with the source code and the relative pdf file with the task specification. Sometimes a dataset is provided.


    ⌨️ Final Project

    The final project is a analysis of a embedded system development cycle, where the company need to know best number of projects N that they should work on at the same time, to produce the best tradeoff between throughput and project completion time mixing all the knowledge acquired during the course.

    The project is divided using both Matlab and JMT. In the relative folder is present:

    • The specification of the project (pdf)
    • 2 matlab project used for data analysis
    • JMT project used for the simulation of the system (jmt)
    • The final report of the project (pdf)
    • A folder with the dataset used for the project

    ✔️ Final Evaluation: 30 cum laude/30

    Visit original content creator repository https://github.com/GppCalcagno/Performance_Evaluation-project