config

merge

Git Merge

Solve conflict

Tools

In nvim, I use plugin fugitive

Commands

open two vertical buffer (one form target, another from feature)

1
:Gvdiffsplit!

stay on middle and use

1
:diffget [buffername](local)

OR
go to target/feature buffer and use

1
:diffput [buffername](target/feature)

save the local file and use

1
2
:Git add .
:Git commit -m "solve merge conflicts"

Besiege mod "ModernAirCombat"

mod name: ModernAirCombat

Setup of mod

1
$createmod "ModernAirCombat"

modify ./Mod.xml

  • Author
  • Description
1
$createblock "ModernAirCombat" "SRAAM"
1
mkdir ./Resources/SRAAM

add assets of SRAAM block r73.obj, r73.png

modify ./Mod.xml

  • Add resources
    1
    2
    <Mesh name="SRAAM Mesh" path="SRAAM\r73.obj"/>
    <Texture name="SRAAM Texture" path="SRAAM\r73.png"/>
    SRAAM-apppearance

modify ./SRAAM.xml

  • Mass
  • Mesh name
  • Texture name
  • Icon
  • Colliders
  • Points

create assembly for scripts

1
createassembly "ModernAirCombat" compiled MacAssembly ModernAirCombat forceUnityTools

open project with VStudio

edit ModernAirCombat.cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System;
using Modding;
using UnityEngine;

namespace ModernAirCombat
{
public enum BlockList
{
SRAAM = 1,
MRAAM = 2,
LRAAM = 3
}
public class ModernAirCombat : ModEntryPoint
{
public static GameObject Mod;
public override void OnLoad()
{
Mod = new GameObject("Morden Firearm Kit Mod");
UnityEngine.Object.DontDestroyOnLoad(Mod); \\avoid destroy mod instance when changing levels
Debug.Log("Hello, this is Modern Air Combat!");
// Called when the mod is loaded.
}
}
}

Write Block Scripts

add a block class SRAAM.cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.Collections;

using Modding.Modules;
using Modding;
using Modding.Blocks;
using UnityEngine;

namespace ModernAirCombat
{
class SRAAMBlock : BlockScript
{
public MToggle IFF;
public MSlider detectAngleSlider;
private Transform myTransform; //实例化Transform对象
private Rigidbody myRigidbody;

public override void SafeAwake()
{
IFF = AddToggle("开启友伤", "IFF", true);
detectAngleSlider = AddSlider("探测角度", "detection angle", 45.0f, 0.0f, 150.0f);
}
private void Start()
{
myTransform = gameObject.GetComponent<Transform>(); //获取相应对象的引用
myRigidbody = gameObject.GetComponent<Rigidbody>();
myRigidbody.drag = 2;
myRigidbody.angularDrag = 4;
}

public override void OnSimulateStart()
{
base.OnSimulateStart();
}

public override void OnSimulateStop()
{
base.OnSimulateStop();
}

private void Update() {
myRigidbody.AddRelativeForce(new Vector3(0, 1, 0), ForceMode.Impulse);
}
}
}

modify SRAAM.xml

1
<Script>ModernAirCombat.SRAAMBlock</Script>

VE216 Note



VE401 Note



VE203 Note



Check for WSL GUI Service

This guide is for the wslg feature of windows 11.
Check for display:

1
2
$ echo $DISPLAY
:0

if not, change it with:

1
$ export DISPLAY=:0

check for X11 display socket

1
2
$ ls -la /tmp/.X11-unix
lrwxrwxrwx 1 spronovo spronovo 19 Apr 21 15:28 /tmp/.X11-unix -> /mnt/wslg/.X11-unix

This is setup during WSL’s INIT.
If doesn’t exist, re-create it to try things out:

1
2
$ sudo rm -r /tmp/.X11-unix
$ ln -s /mnt/wslg/.X11-unix /tmp/.X11-unix

Check whether X11 server is running:

1
2
$ ls /tmp/.X11-unix
X0

TC300 note

Catalog

Course Introduction

What is TC?
Communication that presents specific information to a specific audience for a specific purpose

  • who is audience?
  • what information are we commmunicating?
  • why are we communicating

Criteria of TC:

  • Accuracy
  • Brevity
    • no need for complex sentense, idea itself is complicated enough
  • Clarify

Topics:

  • Workplace-related communications
  • Technical project design through a problem-need-solution framework
  • Diagrams and data visualization, reporting results
  • Paraphrasing, direct quotation, citation(AIAA)
  • presentation skills

Requirements

  • No late homework submission
  • Attendance and active participation
  • HC & plagiarism

Common Tenses and Voices

Tenses

  • Use present tense a lot.
  • If action happens in the past and is done, use past tense (if is true till now, use present tense(project, theorms))

Voices

  • Use active voice, engaged and easier to read
  • Use passive voice to put emphasis on action or the subject is unknow
  • Do not use we, be objective

Writing Email

Components:

  • address lines
  • subject line
  • salutation
  • introduction, body and conclusion
  • closing
  • signiture
  • signiture section

Notes:

  • no conversation
  • don’t send confidential information
  • one single page is enough
  • forward to others only when is authorized
  • pause before sending
  • clean out mailboxes

Three different levels of formality:

  1. Personal, brief notes
  2. Memo style
  3. Letter style: formal business emails

Be careful when using !, it is super strong tone, meaning frustrated, very very angry.

Resume

Common traits

How to state your impact?

  • What was differnent or better when you finish?
  • What were obstacles and how did you get around them?
  • What did you learn in that experience?

Name & Time:

  • Yulin Chen
  • Chen, Yulin
  • May 2022

#CV
Sections:

  • Contact info
  • Education
  • Experience
  • Teaching

Peer-reviewed Article Publishing

Process

  • Manuscript prepared by authors
  • Submission(System)
    • may reject by AI if format is wrong
  • Initial Eval.(Managing editor)
    • may reject if logic wrong
  • Editor’s Eval.(Chief editors)
    • if not good enough, may reject
  • Reviewing(Reviewers)
  • read review advice(Editor)
    • if need author’s Rev. give back to author, then submit again
    • no thing required, publish
    • or reject if still not good enough

Citation

  • name [index]
  • endOfSentense [index1-index2].
    • the sentense is a summary of works cited ad index1-index2(multiple references)
  • endOfSentense. [index]
    • cover several sentenses ahead

General Rule : if not cited, you are claiming that it is your own work.
Five-consecutive-word Rule
So we need paraphrasing

  • Use different vacabulary
  • Change order of words
  • Different grammar/sentense structure

Style:

  • MLA
    • Modern Language Association
  • APA
  • CMS
  • AAAS
  • AIAA
  • ACS
  • IEEE has many different styles

Technical Project Deliverables

Deliverables:

  • Project
  • Solution
  • Finding
  • Publication
  • Patent
    all end up with a report

TC element

  • Audience
    • Potential/existing customers, fellow engineers, colleagues from other departments
    • Professors, classmates, staffs
    • General readers interested
  • Information
    • Project’s ‘result’ (not everything of the project)
  • Purpose
    • Promote new product, share experience, establish status within, provide solution…

General Design Logic

  • Describe problem at hand
    • General/broad topic
    • Narrow down gradually
  • Analyze need
Haskell Study Note