Roy "rat" Tokeshi


When using Bash, how do I search for a string in output?

To search for a string in output using grep in bash, you can use the following command:“`
command | grep “string”

Replace "command" with the command that produces the output you want to search, and "string" with the string you want to search for. 
For example, if you want to search for the word "error" in the output of a command that lists files in a directory, you can use the following command:

ls -l | grep

read more

How do I count the number of lines output in a bash command?

You can count the lines of output in bash using the following command: <command> | wc -l
Replace <command> with the command whose output you want to count the lines of. The | symbol is a pipe, which sends the output of the command to the wc command. The -l option tells wc to count the number of lines in the input. The result will be the number of lines of output from the original command.

read more

Amazon WorkSpaces Network considerations

Every WorkSpace is linked to the specific Amazon VPC and AWS Directory Service construct that was utilized to create it. Each AWS Directory Service construct (Simple AD, AD Connector, and Microsoft AD) needs two subnets, in different Availability Zones (AZs), to function. Once created, these subnets are permanently tied to a Directory Service construct and cannot be altered. Hence, it’s crucial to determine the appropriate subnet sizes prior to creating the Directory Services construct.

While creating the subnets, consider:

  • The number of WorkSpaces required over time
  • The projected growth
  • The types of users to accommodate
  • The number of AD domains to connect
  • The location of your enterprise accounts

Amazon suggests establishing user groups, or personas, based on access type and user authentication requirements as part of your planning. These insights can assist in restricting access to specific applications or resources. User personas can guide segmentation and restriction of access using AWS Directory Service, network access control lists, routing tables, and VPC security groups.

Each AWS Directory Service construct employs two subnets and applies uniform settings to all WorkSpaces launched from that construct. For instance, a security group attached to an AD Connector could dictate whether Multi-Factor Authentication (MFA) is necessary or whether an end-user can have local admin access on their WorkSpace.

Remember that each AD Connector links to your existing Enterprise Microsoft AD. To specify an Organizational Unit (OU) and leverage this capability, your Directory Service must be constructed with your user personas in mind.

read more
Amazon Web Services (AWS)Amazon WorkSpaces

Amazon WorkSpaces requirements

To successfully deploy the Amazon WorkSpaces service, you need to ensure these key elements are in place:

  • WorkSpaces Client Application: This is a device supported by Amazon WorkSpaces. For guidelines on how to get started with your WorkSpace, refer to the relevant resources.Use of PCoIP Zero Clients is also permitted to connect to WorkSpaces. A comprehensive list of compatible devices can be found in the PCoIP Zero Clients for Amazon WorkSpaces section.User Authentication and Workspace Access Directory Service: Currently, Amazon WorkSpaces can operate with AWS Directory Service and Microsoft AD. To synchronize your existing enterprise user credentials with Amazon WorkSpaces, you can integrate your local AD server with the AWS Directory Service.Amazon Virtual Private Cloud (Amazon VPC): This is the environment where your Amazon WorkSpaces will operate. It is important to note that a minimum of two subnets is required for Amazon WorkSpaces deployment, as every AWS Directory Service setup necessitates two subnets in a multi-AZ deployment.

  • For more info look here:

    read more
    Amazon WorkSpaces

    Protocols for Amazon WorkSpaces

    Amazon WorkSpaces employs two protocols: PCoIP and WorkSpaces Streaming Protocol (WSP). The selection of the protocol is influenced by various factors such as the devices from which users will access their WorkSpaces, the operating system of your WorkSpaces, the network conditions that users will encounter, and the need for bidirectional video support.

    PCoIP should be utilized under the following circumstances:

    • When using iPad or Android Linux clients.
    • When employing Teradici zero client devices.
    • When GPU-based bundles (like Graphics.g4dn, GraphicsPro.g4dn, Graphics, or GraphicsPro) are required.
    • When a Linux bundle is needed for non-smart card use cases.
    • When using WorkSpaces in the China (Ningxia) Region.

    WSP is recommended in these situations:

    • When there is a requirement for greater tolerance for loss/latency to accommodate your end user network conditions, such as when users access their WorkSpaces across global distances or through unreliable networks.
    • When users need to authenticate with smart cards or use smart cards within a session.
    • When in-session webcam support capabilities are necessary.
    • When using Web Access with the Windows Server 2019-powered WorkSpaces bundle.
    • When using Ubuntu WorkSpaces.
    • When using Windows 11 BYOL WorkSpaces.

    It’s important to note that a directory can contain a combination of PCoIP and WSP WorkSpaces. A user can have both a PCoIP and a WSP WorkSpace, provided the two WorkSpaces are in separate directories. The same user cannot have a PCoIP and a WSP WorkSpace in the same directory. Further information about creating multiple WorkSpaces for a user can be found in the “Create multiple WorkSpaces for a user” section.

    WorkSpaces migration feature can be used to switch a WorkSpace between the two protocols, but this requires a rebuild of the WorkSpace. For more details, refer to the “Migrate a WorkSpace” section.

    If your WorkSpace was created with PCoIP bundles, you can change the streaming protocol to switch between the two protocols without needing a rebuild, while keeping the root volume intact. More information can be found in the “Modify protocols” section.

    For optimal video conferencing experience, the use of Power or PowerPro bundles is recommended.

    read more info

    Data Deletion Instructions

    We understand the importance of privacy and respect your right to have your personal data deleted from our website. This page outlines the process and steps to request the deletion of your data. Please read the following instructions carefully.

    Submitting a Data Deletion Request

    To request the deletion of your personal data from our website, please follow these steps:

    1. Send an email to [email protected] with the subject line “Data Deletion Request.”
    2. In the email, provide the following information:
      • Full name: [Your Full Name]
      • Email address: [Your Email Address]
      • Additional identifying information (if applicable): [Any additional details to verify your identity]

    Verification Process

    To ensure the security and accuracy of data deletion requests, we may need to verify your identity before proceeding with the deletion. This is to safeguard your data and prevent unauthorized access.

    Timeframe for Data Deletion

    Once we have received your data deletion request and verified your identity, we will process your request promptly. The exact timeframe may vary depending on the volume of requests we receive, but we will make every effort to complete the process within [X] business days.

    Data Retention Exceptions

    In certain circumstances, we may be legally or ethically obligated to retain certain data even if a deletion request has been submitted. These exceptions may include, but are not limited to:

    • Compliance with legal obligations or regulatory requirements.
    • Protection of our rights or the rights of others.
    • Resolving disputes or enforcing agreements.

    Contact Information

    If you have any questions or concerns regarding the data deletion process or if you need further assistance, please contact us at [email protected]. We are here to help.

    Please note that by submitting a data deletion request, you understand and acknowledge that certain information may be retained for a reasonable period as required by law or for legitimate business purposes.

    read more info

    Terms of Service

    Welcome to our technical blog website! These Terms of Service (“Terms”) govern your access to and use of our website, including any content, features, or services provided therein. By accessing or using our website, you agree to be bound by these Terms. If you do not agree with any part of these Terms, please refrain from accessing or using our website.

    1. Content and Intellectual Property

    1.1. All content provided on our website, including articles, blog posts, images, videos, and any other materials, is for informational purposes only. The content is subject to copyright and intellectual property rights, owned by us or our content providers. Unauthorized use, reproduction, or distribution of the content is strictly prohibited.

    1.2. You may use our content for personal, non-commercial purposes only. You may share our content through social media or other channels, provided you give proper attribution and do not modify or alter the content in any way.

    2. User Conduct

    2.1. You agree to use our website responsibly and in compliance with applicable laws and regulations. You shall not engage in any activities that may:

    a) Violate the rights of others or infringe upon intellectual property rights.

    b) Transmit or distribute viruses, malware, or any harmful code.

    c) Interfere with the proper functioning of our website or disrupt the experience of other users.

    d) Engage in any form of unauthorized access, data scraping, or harvesting of user data.

    e) Engage in any illegal, abusive, or fraudulent activities.

    2.2. We reserve the right to suspend or terminate your access to our website if you violate these Terms or engage in any activities that are deemed detrimental to our website or other users.

    3. Disclaimer of Liability

    3.1. Our website provides information on technical topics, but we do not guarantee the accuracy, completeness, or reliability of the content. The information is provided “as is” without any warranties, express or implied. You are solely responsible for any actions taken based on the information provided on our website.

    3.2. We shall not be liable for any direct, indirect, incidental, consequential, or punitive damages arising out of your use or inability to use our website. This includes any damages resulting from errors, omissions, interruptions, or delays in the content or services provided.

    3.3 Please see additional details regarding liability at the bottom of the page. Theses items apply as well.

    4. Third-Party Links and Services

    4.1. Our website may contain links to third-party websites or services that are not owned or controlled by us. We do not endorse or assume any responsibility for the content, privacy policies, or practices of these third-party websites or services. Your interactions with such websites or services are solely between you and the respective third party.

    5. Modifications to the Terms

    5.1. We reserve the right to modify or update these Terms at any time without prior notice. The revised Terms will be effective upon posting on our website. It is your responsibility to review these Terms periodically for any changes. Your continued use of our website after the posting of any modifications constitutes your acceptance of the revised Terms.

    6. Governing Law and Jurisdiction

    6.1. These Terms shall be governed by and construed in accordance with the laws of Mesa, AZ in Maricopa County. Any disputes arising out of or relating to these Terms or your use of our website shall be subject to the exclusive jurisdiction of the courts located in Maricopa County, Arizona.

    7. Contact Us

    7.1. If you have any questions, concerns, or feedback regarding these Terms or our website, please contact us at [email protected].

    read more


    Welcome to! This Privacy Policy outlines how we collect, use, disclose, and protect your personal information when you visit and interact with our website. By accessing or using our website, you agree to the terms of this Privacy Policy. If you do not agree with any part of this Policy, please refrain from using our website.

    1. Information We Collect

    1.1. Personal Information: When you visit our website, we may collect personal information that you voluntarily provide, such as your name and email address when submitting a contact form or subscribing to our newsletter. We only collect personal information that is necessary for the purposes outlined in this Policy.

    1.2. Non-Personal Information: We may also collect non-personal information, such as your IP address, browser type, device information, and usage statistics. This information is used to analyze trends, administer the website, and improve user experience.

    2. Use of Information

    2.1. We use the collected information for the following purposes:

    a) To provide and personalize our website’s content and services.

    b) To communicate with you, respond to inquiries, and provide updates.

    c) To improve our website, products, and services based on your feedback.

    d) To send promotional emails or newsletters with your consent, which you can opt out of at any time.

    e) To ensure the security and integrity of our website and protect against unauthorized access or misuse.

    3. Disclosure of Information

    3.1. We may disclose your personal information to third parties in the following cases:

    a) Service Providers: We may share your information with trusted service providers who assist us in operating our website and delivering services to you, such as hosting providers or email service providers. These third parties are contractually obligated to handle your information securely and in accordance with applicable laws.

    b) Legal Compliance: We may disclose your information if required by law or in response to valid legal requests, such as subpoenas or court orders.

    c) Protection of Rights: We may disclose your information to protect our rights, enforce our Terms of Service, or investigate potential violations or fraudulent activities.

    4. Data Security

    4.1. We implement reasonable security measures to protect your personal information against unauthorized access, alteration, disclosure, or destruction. However, no method of transmission over the internet or electronic storage is 100% secure, and we cannot guarantee absolute security.

    5. Third-Party Links and Services

    5.1. Our website may contain links to third-party websites or services that are not owned or controlled by us. We do not assume any responsibility for the privacy practices, content, or actions of these third-party websites or services. We encourage you to review their respective privacy policies before providing any personal information.

    6. Children’s Privacy

    6.1. Our website is not intended for individuals under the age of 16. We do not knowingly collect personal information from children. If you are a parent or guardian and believe that your child has provided personal information to us, please contact us, and we will promptly remove the information from our records.

    7. Changes to this Privacy Policy

    7.1. We reserve the right to modify or update this Privacy Policy at any time without prior notice. The updated Privacy Policy will be effective upon posting on our website. We encourage you to review this Policy periodically for any changes. Your continued use of our website after the posting of any modifications constitutes your acceptance of the revised Privacy Policy.

    8. Contact Us

    8.1. If you have any questions, concerns, or requests regarding this Privacy Policy or our privacy practices, please contact us at [email protected].

    read more

    CloudFormation to create an Amazon WorkSpaces instance

    To use CloudFormation to create an Amazon WorkSpaces instance, you can follow these steps:1. Create a CloudFormation template: You can create a CloudFormation template in JSON or YAML format. The template should include the necessary resources to create an Amazon WorkSpaces instance, such as the WorkSpaces directory, WorkSpaces subnet, and WorkSpaces bundle.2. Define the WorkSpaces directory: In the CloudFormation template, you need to define the WorkSpaces directory. This includes specifying the directory name,

    Type: AWS::WorkSpaces::Workspace
    BundleId: bundle-id
    DirectoryId: directory-id
    UserName: user-name
    RootVolumeEncryptionEnabled: true/false
    UserVolumeEncryptionEnabled: true

    read more
    1 2 3 6
    Page 1 of 6