# 資訊科技與媒體識讀 共筆筆記 (114下)
## 3/02
## 一些名詞
- analog 類比、 digital 數位
- 連續 & 離散(0、1)
- bit 位元、 byte 位元組、 pixel 像素
- 1 byte = 8 bits
- 大部分時候 1 pixel = 3 bytes (RGB三原色成分各佔用1個byte); 較低色彩解析度或灰階圖片則可能更省空間
- 點陣圖檔: bmp、 png (不失真,壓縮效率差)、 jpg (會失真,壓縮效率高) ; 向量圖檔: svg
- source code 原始碼、 binary file 二進位檔、 reverse engineering 逆向工程
- [radix conversion](https://www.numberworld.org/y-cruncher/internals/radix-conversion.html) : 進制轉換。16 radix conversion(hex)、8 radix conversion(oct) ,etc。
- 字元編碼 character encoding 的方式
- [ASCII](https://ss64.com/ascii.html):常用英文和符號
- **length** : 1 byte
- big5:台灣編碼;每一個中文字用2bytes表達
- gb2312c中國簡字編碼 gb=國標
- shift jis:日本編碼
- [Unicode](https://zh.wikipedia.org/zh-tw/%E7%BB%9F%E4%B8%80%E7%A0%81):萬國碼,啥都有;最常見的: 最常用的編碼方式是`utf-8`
- utf-8一個中文字佔3bytes
- character encoding字元編碼
- 雜湊hash
-
- 過程不可逆,但不等於「加密」
- sha256
在終端機,你可以用下面這個指令把任何字串做 hash
```bash
$ echo -n "something" | sha256'
```
## 3/09
- source code:原始碼
- 人類講給電腦聽的話
- 二進位檔 binary
- 裝了很多 0 和 1 ,是 [ISA](https://en.wikipedia.org/wiki/Instruction_set_architecture) 定義的操作指令,給機器看的
- 編譯:原始碼轉換成可執行檔 executable (屬於二進位檔的一種)
- reverse engineering 逆向工程(將可執行檔轉換成人看得懂的原始碼)
- 有些情況開發者會用原始碼混淆(Obfuscation)來避免有人直接看懂程式碼邏輯
- 常見圖檔格式
- png 非破壞性壓縮(lossless)的每一格稱為pixel,png就是壓縮過的bmp檔
- BMP 未壓縮,檔案很大
- JPEG 破壞性壓縮(lossy)
- SVG scatterable vector graphic 可縮放向量圖檔
- 向量,全是數學表達式紀錄軌跡和顏色,完全不失真
- 用數學式[畫圓範例](https://www.w3schools.com/graphics/tryit.asp?filename=trysvg_myfirst)
- [W3C SVG intro](https://www.w3schools.com/graphics/svg_intro.asp)
> 破壞性壓縮:重複壓縮再解壓縮會失真
> 非破壞性壓縮:不會失真,但佔空間大
| | 點陣圖 | 向量圖 |
| -------- | -------- | -------- |
| 格式 | bmp. png. jpg | svg. ps. |
|開源解決方案|GIMP|Inkscape|
|對應授權軟體|PhotoShotp|以拉|
- 辦公軟體開源格式
- odt (open document text)文字
- 兼容 docx
- ods(open document statistic)試算表
- 兼容 xlsx
- odp(open document presentation)簡報
- 兼容 pptx
- *file format specification* 檔案格式規格書
- 開放檔案格式會放在網路上寫出定義,這對於開發者會比較友善,容易有其他衍生品被貢獻
- 舉個例子:我如果今天要實作看圖軟體,有提供規格書的會比較好實作支援
- barrier of exit 轉換障礙
- import 匯入
- export 匯出
- network externality 網路外部性
- 例: [Metcalfe's law](https://blog.maxkit.com.tw/2017/03/metcalfes-law.html) 說:通訊工具的價值大約和使用人數平方成正比 => 所以即使 [LINE 很爛](#解釋為什麼你該逃離-LINE)大家還是不得不用
- 不過也有負的例子,例如衣服(怕撞衫)
- 電腦開機順序
1.進bios/UEFI (韌體(Firmware)取得控制權 )
2.進作業系統(有好多分割區 [partition])
-boot loader 開機載入程式:硬碟上最早取得控制權的程式
- 選擇開機方式
- 硬碟開機
- 硬碟有好多分割區 [partition](https://linux.vbird.org/linux_basic/centos7/0130designlinux.php)
- 網路開機
- 搜尋技巧
- 當你知道一個付費授權閉源軟體可以加上open souce 找到替代方案,通常一般人的使用量不需要用到付費方案
## 3/16
- [Richard Stallman](https://www.stallman.org/) 開啟了自由軟體的運動
- 原始碼授權觀念
- 開放原始碼軟體 opensource(自由軟體 free)提倡四大自由
- 使用、研究、散布、修改
- GNU general public license 革奴計畫:授權
- public domain 公領域
- 任何人都可以隨便用,包括重製成封閉原始碼、商業軟體
- Free as in free speech
- 自由軟體並不侷限「免費」,你依然可以使用自由軟體賺錢
-
- kernel 核心(by linux torvalds)
- 和硬體溝通最核心的元件
- secure boot 安全開機: UEFI 裡面的設定。 [名不符實](https://ckhung0.blogspot.com/2024/09/secure-boot.html)。
- linux 有很多不同的發行版本 [distribution](https://commons.wikimedia.org/wiki/File:2023_Linux_Distributions_Timeline.svg)
- 歷史總數 1000+
- Debian Family
- Red Hat (RPM) Family
- Arch Linux Family
- SUSE Family
- 教終端機技巧
- 指令型態
- 動作 <參數>
## 3/23
- [Regular Expression](https://frdm.cyut.edu.tw/~ckhung/b/re/index.php)
- 語法:PCRE Perl Compatible Regular Expressions
## 4/6
- 放假停課
## 4/13
- [計畫報廢](https://ckhung0.blogspot.com/2016/09/apple-planned-obsolescence.html)(planned obsolescence)
- 故意把產品生命週期設計的很短
- 軟硬體無法向前支援
- 刻意宣傳用舊版本的缺點
- linear scale vs log scale
- scatter plot 散點圖 / bubble chart 氣泡圖 (可以用位置、位置、面積、顏色四個視覺變數同時呈現四個數值欄位,甚至可以用斜率顯示其中兩欄位的比值)
- [視覺變數](https://ckhung.github.io/a/m/23/viz/viz-vars.jpg)(visual variable),由容易辨識程度由高到低排序:
- 位置
- 長度
- 角度、斜率
- 面積
- 體積
- 顏色、密度
## 4/20
- graphviz 的 dot 格式
- 智慧財產權 vs 注意力經濟
- 諾貝爾經濟學獎得主 Herbert Simon
- 資訊會消耗人的注意力,注意力是珍稀資產
- Michael Goldhaber:網路的自然經濟
- 談論網路為經濟模式帶來的改變
- Lawrence Lessig 「自由文化」作者、創用 cc 發明人
- 傳統 copyright vs. creative commons 創用 cc vs. public domain 公領域
- Derivative Work 衍生創作
- Copyleft 概念的諸多實作案例: GPL、 MPL、 創用 cc 當中的 "sa" 條款
- by/Attribution/保留姓名、 nd/No Derivative/禁止改作、 sa/Share Alike/相同方式分享、 nc/Non-Commercial/禁止商業使用
- 創用 cc 的六種常用組合套餐, 其中 cc-by 類似自由軟體的 MIT/BSD/XFree86, cc-by-sa 類似自由軟體的 GPL, 維基百科只敢收這兩者
- default 預設值
## 4/27
- Chris Anderson 提出長尾現象 (long tails)
- 以熱門度為縱軸、 排名為橫軸所畫的圖
- Popularity - y -axis
- ranking x-axis
- 網路讓圖的尾巴變長、變厚、重心從頭部往尾部移
- 市場出現多樣化的商品,但每樣都少量供給
- surveillance pricing
- 需求定價,發現你的需求比較高,就把價格調高
- Shoshana Zuboff 提出 surveillance capitalism
- dark patterns / deceptive patterns / 暗黑模式
- 使用價值 use value / 多有用
- 販售價值 sale value / 價格
- seo (search engine optimization)
- 搜尋引擎最佳化
- 幫網頁做有利網路爬蟲編入搜尋引擎索引的資訊補充
- 劍橋分析案 (cambridge analytica)
- 提供用戶資料再傳回去造成很大影響力
- 與 Facebook 利用 social media 散佈操弄過的資訊,影響大家的決策
- 高牆花園 walled garden
- 被刻意設計成進容易出去難的網路平台,還有要進去才看得到內容
- targeted ads 定向廣告
- 針對個人偏好投放廣告
- grassroot movement 草根運動
- astroturfing 偽草根運動
- 偽草根運動
- 大公司操弄出來的草根運動
- 洗讚數、流量、網軍
- 歐盟 GDPR
- 作業內容,自己回家看
## 5/04
- reputation economy 信譽經濟
- rage bait / emotional marketing / neuralmarketing
- biometrics 生物辨識資訊
- brain rot 腦腐
---
# 【上機提示及其他較長的筆記】
## 通用
- [廣播視窗](http://140.120.151.65:6080/vnc.html)
- markdown 可以讓你自己決定字有多大
```markdown
# h1
## h2
### h3
list
- 清單
font
**this is bold**
*this is Italics*
~~刪除線~~
```
- 老師的 novnc (「單一視窗廣播」) 網址:
- putty 連線: 參數請寫在自己的筆記裡, **不要在這裡公開!!** 登入時的操作重點:
- 打密碼時,看起來沒有反應? 但伺服器其實已有收到。 不要害怕,矇著眼睛有信心地打完就對了。
- 建議先在 geany 裡面打出密碼, 再剪貼到 putty 去。
- 30分鐘內打錯5次會被停權6小時。
### 用終端機連線進去老師的主機
- 進 cmd 或任何終端輸入(自己替換帳號和主機位置):
```
ssh -p 22919 s<student-id>@<domain>
```
- 然後會要求密碼,密碼不會顯示在螢幕上
### 如果你不想每次登入都打密碼
那好,首先你得固定使用自己的電腦,然後做下面這些操作
### 產生金鑰
這會產生一對金鑰,一個是你的原檔名,另一個加上 .pub 。如果你不知道什麼是公鑰私鑰,RSA 非對稱加密了解一下。簡單說世界上只有這兩個檔案有辦法認出彼此。你帶著私鑰給持有公鑰的主機,對方就會知道真的是你來了。
```bash
ssh-keygen -o -t ed25519 -f ~/.ssh/<key-name>
```
輸入這個指令的時候會叫你打 phrase 和反覆確認,這是之後使用這把鑰匙的文字鑰匙,你可以直接按 enter 留空,使用就不用再打任何東西。
### 複製自己的公鑰到伺服器
用參數`-i` 指定要用哪一把公鑰(如果有你很多把的話),只有一把就不用`-i ~/.ssh/my_server_key.pub`
```bash
ssh-copy-id -i ~/.ssh/my_server_key.pub remote_user@remote_host
```
### 寫config
在`~/.ssh/config`這個檔案中寫
```bash=
Host nimbus
Hostname numbus.frdm.info
User s<YOUT_STUDENT_ID>
IdentityFile ~/.ssh/<YOUR_KEY_FILE>
Port 22919
```
這樣之後在終端機輸入`ssh nimbus`就會直接連上去。
## 作業系統

- 電腦開機需要有operating system(OS)作業系統
### 其他常見作業系統
- Linux
- 有超多發行版,Arch 超棒!!
- FreeBSD
- MacOS
## 為什麼要學下指令
- AI 可以更好的輔助你操作,圖形化可能就得依靠 MCP 還不一定做對
- 指令在各個電腦大多通用
- 電腦公司希望綁住你在他們的產品!!
- [扫盲 Linux&UNIX 命令行——从“电传打字机”聊到“shell 脚本编程”](https://program-think.blogspot.com/2019/11/POSIX-TUI-from-TTY-to-Shell-Programming.html)
- [shell introduction slide by NYCU CSIE](https://gamma.app/docs/Introduction-to-HPC-2m2boog2daohdkc?mode=doc)
## 作業
- 看[影片](https://www.youtube.com/watch?v=q09z946XeWE),到點名表貼上影片中最有感覺的一句話
## 03/09
## 如何逆向工程
這裡有一些工具和它的功能
- IDA
把 bin 丟進去裡面,他就會解析出原始碼邏輯和機器語言
- gdb
```
gdb ./<your_binary_file>
```
gdb是一個動態(邊執行邊偵錯)偵錯debuger,可以顯示出 bin 的 assembly language,就可以推敲~~通靈~~出原始碼。
## 圖解開機流程

> [image source](https://www.linkedin.com/pulse/understanding-linux-boot-process-how-your-system-comes-rajeev-barnwal-3mjfc)
## 解釋為什麼你該逃離 LINE
- [Each:給 Line 的一封信](https://www.iach.cc/dear-line/)
- [Wiwi 我同意](https://wiwi.blog/blog/line-privacy-policy/)
- [資訊人權貴:Line 準難民的逃亡計畫](https://ckhung0.blogspot.com/2025/10/line.html)
- [資訊人權貴:Line 不僅是高牆花園, 也是國安要害](https://ckhung0.blogspot.com/2018/07/line.html)
## 如何更有效的認識 Linux 不同的發行版
- ~~探索作業系統娘~~
- https://www.iach.cc/os-tans/4
## 3/16
- 關於 os...

- 一個程序在電腦中的層級
- 如下圖,最外層 utillties 就是 applaction ,是平常使用者接觸的介面和軟體。
