How to Set Up TFTP Server and Client

What is TFTP?

TFTP (Trivial File Transfer Protocol) is a simple file transferring mechanism developed as a “lighter” version of FTP.

  • Instead of using the full TCP implementation, TFTP relies on the connectionless and simple UDP transport over port 69.
  • TFTP only allows unidirectional file transferring.
  • The TFTP server sends a block of data and waits for the acknowledgment before sending the next one.
  • It provides zero control and has low overhead.
  • TFTP uses a client/server communication model.

The original idea of creating TFTP was to provide booting for disk-less computers or workstations that didn’t have enough memory or disk. These disk-less workstations usually do not have access to the full TCP/IP stack, so they need to obtain configuration information such as DHCP or BOOTP from another server.

Notes - Hugo Relearn Theme Usage

Hugo Relearn theme works with a page tree structure to organize content: All contents are pages, which belong to other pages.

Create a new site

Create empty Hugo site

hugo new site rldoc
cd rldoc

Add Relearn theme

Using git submodule if you don’t have Go installed:

Notes Mail Merge

See Use mail merge to send bulk email messages

Prepare Email List

It’s better to use Excel file which easy to edit and add/remove columns.

When using .csv file format, there should be at least two columns. If you only need Email address, you can add a dumb column with ,NA at the end of each row when edited in IDE, or add a sequence column(Seq,Email) when edited in Excel.

Notes - Bootstrap

Examples

Center Alignment

  • text-center: center the text inside the container row “r1”
  • justify-content-center: make all three columns “c1”, “c2”, and “c3” center as a group inside row “r2”; or make the button horizontal center inside column “r2”
  • d-flex align-items-center: make the button vertical center inside of the “c2” container; you can use align-items-start to move the button to the top of “c2” container
  • align-self-center: make the “c2” container as a whole to be center vertically inside column “r2” ;
<div class="container">
    <div id="r1" class="row">
        <div class="col">
            <h3 class="text-center">Check Threshold Remaining</h3>
        </div>
    </div>
    <div id="r2" class="row justify-content-center" style="min-height: 60vh;">
        <div id="c1" class="col-4 col-md-3 d-flex justify-content-end">
            <textarea name="asset-list" id="asset-list" style="min-width: 100%; overflow: scroll"></textarea>
        </div>
        <div id="c2" class="col-4 col-md-3 align-self-center d-flex align-items-center justify-content-center" style="background-color: lightyellow; height: 30vh">
            <button onclick="getThreshold()">Get Thresholds</button>
        </div>
        <div id="c3" class="col-4 col-md-3">
            <div id="result" style="min-height: 100%; min-width: 100%; overflow: scroll; background-color: aliceblue">
            </div>
        </div>
    </div>
</div>

Text

Line height

Change the line height with .lh-* utilities.

How to Get Client IP Information?

Get client information

How to get client IP address?

The X-Forwarded-For (XFF) HTTP header is a de facto standard for identifying the originating IP address of a client connecting to a web server through an HTTP proxy or load balancer.

Notes - UiPath

Work

How to update RLPath(UiPath project)?

// this works on the laptop
git stash
git pull

// If the above command doesn't work well, 
// try to re-clone to a new folder
git clone --depth 1 https://github.com/AngangGuo/RLPath.git RLPath

Control Flow

How to comment / un-comment an activity?

Select the activity

Notes - Davinci Resolve Video Editor

Shortcuts

  • Ctrl+Shift+,: Move clip to left
  • ctrl+Shift+.: Move clip to right
  • Ctrl+Shift+v: Paste insert

Photo Slide Show Technics

  • Set the default photo length: Preferences > User > Editing > General Settings > Standard Still Duration
  • Zoom the photo: Inspector > Video > Transform > Zoom > xxx
  • Add a border to a photoA:
    1. Right-click the photo in timeline, choose Open in Fusion Page
    2. Effects > Templates > Edit > Effects > Colored Border
    3. Drop the Colored Border effect at the middle of the MediaIn1 and MediaOut1
  • Add similar border to other photos: Select all the other photos, then click the photoA with the middle button to copy the border effect
  • Fill the background with blurred picture: Effects > Open FX > Resolve FX Stylize > Blanking Fill, you can change the settings from Inspector tab

Tips

  • Make sure to pre-resize your photo to a similar size, otherwise some photos may very large and will eat up all your system resources when rendering

Notes - Protocol Buffers

Protocol buffers provide a language-neutral mechanism for serializing structured data. It’s like JSON, except it’s smaller and faster.

Step by step

mkdir pb
cd pb
go mod init pb

Create the people.proto file

syntax="proto3";
package tutorial;

option go_package = "./tutorial";

message Person{
  string name=1;
  int32 id=2;
}

Download compiler

Install protoc-gen-go

To generating Go package, you need to install Go protocol buffers plugin: