This guide is for the wslg feature of windows 11.
Check for display:
1 | $ echo $DISPLAY |
if not, change it with:
1 | $ export DISPLAY=:0 |
check for X11 display socket
1 | $ ls -la /tmp/.X11-unix |
This is setup during WSL’s INIT.
If doesn’t exist, re-create it to try things out:
1 | $ sudo rm -r /tmp/.X11-unix |
Check whether X11 server is running:
1 | $ ls /tmp/.X11-unix |
Catalog
- Course Introduction
* Common Tenses and Voices - Writing Email
- Resume
- CV
- Peer-reviewed Article Publishing
- Citation
- Technical Project Deliverables
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:
- Personal, brief notes
- Memo style
- 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
CADC Ground Investigation Visual Solution

We want to apply computer vision to the plane to fullfill ground investigation task automatically.
Study note for ROS subscriber.
Model of Topic
- Publisher(turtlesim)
- –[Message(geometry_msgs::Twist)]–>
- Topic (/turtle1/pose)
- –[Message(geometry_msgs::Twist)]–>
- Subscriber(Pose Listener)
Programming realization
How to realize a subscriber
- initialize ROS node
- subscribe required topic
- loop wait the msgs from topic, after receiving msgs, enter callback function
- implement msgs processing in the callback function
Code
Also we put this node into function package learning_topic
Create velocity_publisher.cpp file in learning_topic/src:
1 |
|
Note
- Callback function must be sufficient, or newer data will be blocked
Configure the compile run of subscriber
Steps same as publisher
Add two lines to learning\_topic/CMakeLists.txt (in build part):
1 | add_executable(velocity_publisher src/pose_subscriber.cpp) |
Compile
1 | $ cd ~/ROS_study/catkin_ws |
The output of pose_subscriber:
1 | ... |

Study note for ROS publisher.
Studying note for regular expression
Definition
Regular expression describes a pattern of matching string
Can be used to detect/replace/take out specific substring
Syntax
| symbol | description | example |
|---|---|---|
| ^ | match the beginning of he line | |
| [ABC] | match all char in […] | [aeiou]: google runoob taobao |
| [^ABC] | match all except those in […] | |
| [A-Z] | describe an interval | [a-z] matchs all lower case char |
| (…) | set groups | |
| \1…\n | match the same elements as nth group | |
| {n} | the front element repeats n times | |
| {n,} | the front element repeats at least n times | |
| {n,m} | the front element repeats at least n and at most m times | |
| . | match any char except (\n,\r), same with [^\n\r] | |
| \s\S | match all, \s:match all space char, \S:match all non space char, ‘return’ not included | |
| \w | match letter,number,underline, equal to [A-Za-z0-9 ] | |
| \cx | match the control char indicated by x(A-Z/a-z) | \cM: Control-M or return char |
| \f | match a page change char | |
| \n\r | match a return symbol | |
| \t | match a tab | |
| \v | match a vertical tab | |
| $ | match the end of the string, to match $ itself, use $ | |
| * | match the front subexpression multiple or zero times, use \* to match * | |
| + | match the front subexpression multiple or one times, use \+ | |
| . | match any single char except \n | |
| [ | mark the beginning of a []expression | |
| ? | match the front subexpression one or zero times, or indicate a non-greedy qualifier | |
| | | logic or |
Application in Cpp
In cpp, we use std::regex to express regular expression, supporting ECMAScripts as default.
Match
Use regex_match() to match xml (or html) format:
1 | std::regex reg("<.*>.*</.*>"); |
Search
Use std::regex_search.
As long as there exists targets in the string, it will return.
1 | std::regex reg("<(.*)>(.*)</(\\1)>"); |





