Thursday, October 02, 2025

台股大盤表現

好久沒更新自己的股市小幫手了,今天加入的台股的成交量, PER與PBR。
並且判斷當PER > 17 or PBR > 2時顯示為紅字,表示目前台股整體股價較偏貴,風險略高。


Wednesday, May 28, 2025

Vibe coding (台股每日收盤整理)

 最近跟ChatGPT一起合作(vibe coding),ChatGPT負責生成程式碼,我負責收集資料的來源並除錯與修改部份的程式碼(我本來就是QA人員這點我很熟門熟路),在這樣的開發背景下大幅降低了開發門檻與提高了開發速度!當然如果使用者本身具備一定的程式知識還可以受益良多。

我非常喜歡這樣的工作方式,也相信這是未來的走向。

Screenshots:

搭配crontab每日15:05執行並寫入log file.


最後還可以請ChatGPT做個總結:

Wednesday, November 27, 2024

用Python搭配BeautifulSoup取得台股大盤當日的漲幅

廢話不多說,最近利用Python+BeautifulSoup去爬台股大盤的靜態資料,過程用ChatGPT幫我除錯。


Tuesday, November 26, 2024

在Ubuntu看盤

 之前一直想用Bottles+Wine在Ubuntu裝上三竹來看盤(沒錯~我暫時脫離了科技業,現在是個全職投資者),可是一直碰到問題而無法順利運行。

今天想想那就改用VirtualBox+Windows的老方案好了,不過安裝時碰到了2個問題在此紀錄一下。


問題:

1. Ubuntu OEM Kernel不支援virtualbox-dkms

Workaround: 切去generic Kernel就可以安裝好。


2. 要運行VirtualBox時遇到被KVM佔用住資源

Workaround: 

sudo rmmod kvm && rmmod kvm-intel -> 失敗!想了一下原來是卡到multipass,所以把它先暫停

sudo snap stop multipass -> 成功


後記:

缺點是我不能同時使用multipass...... :(

Tuesday, June 04, 2024

How to use GUI in Ubuntu Multipass

Currently, Multipass does not provide a complete graphical interface for use like virtual machine software such as VMware or VirtualBox.

Of course, there are alternative solutions. You can connect to a Multipass instance using RDP, VNC, or X forwarding methods.

Here, I will use the X forwarding method, so when I need to use a GUI, I can launch the graphical interface of the relevant app from the CLI.

Step1. Create an SSH public key on your local machine 

Monday, May 13, 2024

Enhanced version of Ubuntu Multipass

A long time ago, there was an introduction on how to use Ubuntu's Multipass. If you're interested, you can refer to the following link below:

https://go-linux.blogspot.com/2020/06/canonicalmultipass.html


Today, I'm here to introduce to you the enhanced version of Multipass (currently in the beta channel of Snap).


1. Install it from snap beta channel:

Monday, May 06, 2024

安裝Ubuntu 22.04到新的X1

前幾天把舊X1的Ubuntu升級到22.04後體驗上還不錯,所以今天早上就把new X1也安裝了Ubuntu 22.04並且一樣保留Windows作業系統。(雙系統)

以下稍微紀錄一下我的步驟:

1. 關閉Windows的Bitlocker

2. 透過Windows內建的磁碟管理程式 -> 壓縮現有磁碟區 -> 分割出新的磁碟區 (之後裝Ubuntu)

3. 進入BIOS關閉Secure boot

4. 用Ubuntu 22.04的USB flash開機 

5. 選擇保留Windows boot loader跟grub一起,並且把Ubuntu安裝到步驟#2的磁碟區


之後就很順利完工囉~ 這篇文章就是用new X1+Ubuntu打的 :D

Friday, May 03, 2024

20.04.6 LTS to 22.04.03 LTS 筆記

今天把一台很久沒用的X1 laptop從Ubuntu 20.04.6 LTS升級到22.04.03之後,目前發現到兩個問題:

1. 無法使用gnome-terminal與terminator

爬了一下文看到很多人也遇到類似的問題,有人分享更改預設語言的方法然後重新開機並登入後可以解決,但我試了好幾次都失敗,後來發現當我開啟Settings -> Region & Language -> Manage Installed Languages之後視窗會直接crash,用Xterm直接執行gnome-terminal看到有error,最後死馬當活馬醫把我最懷疑的gcin移除掉並重新開機登入後gnome-terminal與terminator就正常了!沒想到這招有用!


2. 無法開啟Chrome

解決的方法就很簡單,重新下載並安裝吧!

wget -c https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

sudo dpkg -i google-chrome-stable_current_amd64.deb

sudo apt-get install -f


先這樣吧,之後有碰到其它問題的話會再陸續update~~


Friday, March 29, 2024

I am back~

Hi, I'm back. It's been a long time since the last update. I'm curious, is anyone still reading the blog now? Very curious. :)

Wednesday, August 19, 2020

利用nmcli連接802.1X wlan

 

由於公司內部實在太多AP跟SSID了,在UC18 GNOME的環境一開NetworkManager scan wifi就會整個hang住,稍微研究了一下怎麼用nmcli的方式連上一個802.1X WLAN。


$ nmcli con add type wifi ifname <wifi interface> con-name <connection_profile> ssid <SSID>

$ nmcli connection edit id <connection_profile>


nmcli> set ipv4.method auto

nmcli> set 802-1x.eap peap

nmcli> set 802-1x.phase2-auth mschapv2

nmcli> set 802-1x.identity USERNAME

nmcli> set 802-1x.password PASSWORD

nmcli> set wifi-sec.key-mgmt wpa-eap

nmcli> save

nmcli> activate


搞定,收工。

Tuesday, June 23, 2020

關於Canonical的Multipass

Multipass可以幫助Linux user快速架設起一個虛擬機器來做測試用,它類似VMWare, KVM, VirtualBox這些虛擬機器的技術,不過確有著docker的使用經驗。一個命令就可以讓user無痛叫起一台虛擬機器來使用,以下列出我常使用的命令。


1. 安裝Multipass:
$ snap install multipass --classic

2. 查詢有哪些image可以使用?
$ multipass find










3. 新增虛擬機器:
$ multipass launch 20.04






以上可以看到我的系統剛剛新增了一台Ubuntu 20.04 LTS的機器(appealing-escolar),而且已經啟動了。

4. 進入虛擬機器的shell
$ multipass shell appealing-escolar




















5.傳檔案給指定的虛擬機器:
$ multipass transfer testfile shipshape-bat:















更多指令與功能請參考 --help

$ multipass --help

Wednesday, March 11, 2020

How can I setup a snmptrap receiver server on Ubuntu Server 18.04?

之前有介紹過如何在Ubuntu Server 18.04建立一個SNMP agent讓SNMP Manager可以做get request的動作,請參考此篇: How can I setup a SNMP server on Ubuntu Server 18.04

現在來補足一下如何在Ubuntu Server 18.04實作snmptrap receiver server.

Step1. 安裝snmptrapd
$ sudo apt install snmptrapd
Step2. 配置snmptrpad可以接收agent送過來的event
$ vi /etc/snmp/snmptrapd.conf
authCommunity log,execute,net public
以上,我只開啟IPv4 + snmp version 2c

Step3. 重啟snmptrapd
$ sudo systemctl restart snmptrapd

Step4. 檢查port 162 active (UDP port 162是snmptrap, 161是snmp get,getnext,set)
$ sudo netstat -tupln | grep 162
udp        0      0 0.0.0.0:162             0.0.0.0:*                           2100/snmptrapd 
Step5. 遠端送出一個snmptrap的event
這裡我用CentOS8安裝Net-SNMP的基本工具snmptrap後,送出一個snmptrap example command.
# snmptrap -d -v 2c -c public 192.168.1.151 "" UCD-SNMP-MIB::ucdStart message s "/ disk utilization exceed 90%"
 Step6. 檢查Ubuntu Server 18.04有沒有收到此event?
$ sudo tail -f /var/log/syslog | grep snmptrap
Mar 11 16:07:06 us18 snmptrapd[2100]: 2020-03-11 16:07:06 [UDP: [192.168.1.132]:51067->[192.168.1.151]:162]:#012iso.3.6.1.2.1.1.3.0 = Timeticks: (194731) 0:32:27.31#011iso.3.6.1.6.3.1.1.4.1.0 = OID: iso.3.6.1.4.1.2021.251.1#011iso.3.6.1.4.1.2021.10.1.101 = STRING: "/ disk utilization exceed 90%"
That's all!

如何讓Virtualbox下的虛擬機器透過實際無線網卡取得IP? (透通模式)

先稍微提一下會想這樣做的原因是因為愈來愈多的laptop已經不提供Etherenet port,尤其是一些比較強調輕量級的laptop,所以如果不買USB or USB Type-C轉Ethernet port的話,基本上只能透過wireless interface去連接網路。

對於一般的user來說這沒什麼大不了,所謂人人家裡都有wifi(沒有的話快去買一台Ruckus AP),但就算真的沒有wifi好了,user也可以透過手機開熱點讓laptop來連上網路。

但是對於我們這些常常需要跑VM的engineer來說是有一點困擾,因為預設上就算你設定好虛擬機器的網卡bridge到實際的wireless NIC,你還是拿不到IP address.... (至少我遇到的狀況是這樣),當然這時候可以透過NAT mode讓虛擬機器的網卡可以連上網路,但是有時候透通模式才是我們需要的。

怎麼解決呢?其實非常簡單,就是把你真實wireless NIC的MAC address設定到虛擬機器的MAC address就好了,以下我用VirtualBox在Ubuntu 18.04.4 LTS來演練一下:

Step1. 取得真實wireless NIC的MAC address:


Step2. 開啟VirtualBox -> 選擇虛擬機器 -> Settings -> Network -> Advanced -> MAC address

以上填入Step1列出的MAC address.

Step3. 開機或重新啟動虛擬機器

看到了嗎? 虛擬機器內的網卡已經透過實體的wireless NIC取得IP address並且可以連上Internet.

再來用實體機器來ping一下虛擬機器:


可以開始快樂的使用了,這個小技巧希望對大家有幫助。

Friday, February 21, 2020

Turn on wireless monitor mode to capture wireless packets in Ubuntu

Wireshark在預設上是不能正確顯示無線網路的封包格式,所以如果你直接抓取wifi interface只會看到ethernet的訊框而不是802.11相關的格式。

那怎麼做呢?其實只要把wifi interface轉成monitor mode就可以了,以下嘗試在Ubuntu desktop底下實作看看:

Step1. 針對wifi NIC(wlan0)新增一個對應的monitor interface(mon0):
$ sudo iw dev wlan0 interface add mon0 type monitor

Step2. 啟動mon0 interface:
$ sudo ifconfig mon0 up
之後去啟動wireshark就會看到mon0 interface並透過它來抓802.11的封包了。

How can I setup a SNMP server on Ubuntu Server 18.04

在這篇短文中,紀錄一下如何在Ubuntu Server 18.04配置一台SNMP server同時支援snmpv2與v3,之後若有機會在補齊如何收遠端機器所發出來的snmp trap event。

Step1. 安裝:
$ sudo apt update
$ sudo apt install snmp snmpd snmp-mibs-downloader

Step2. 配置snmpd.conf:
$ sudo vi /etc/snmp/snmpd.conf
# 允許all net來連線 (IPv4+IPv6)
agentAddress udp:161,udp6:[::1]:161
# SNMP v2:
rocommunity public  default    -V systemonly
# SNMP v3:
createUser ubuntu MD5 1234567890
rouser ubuntu

Step3. 重啟snmpd 
$ sudo systemctl restart snmpd

Step4. 測試 SNMP v2與v3 lookup:
# SNMP v2
 $ snmpwalk -v 2c -c public 127.0.0.1
# SNMP v3:
$ snmpwalk -v 3 -a MD5 -A 1234567890 -u ubuntu -l auth 127.0.0.1

Note: 以上由於我都是在本機測試,所以IP為127.0.0.1

Wednesday, February 19, 2020

How can I setup a DNS server on Ubuntu Server 18.04

以前都在紅帽圈設定與架設DNS server,今天筆記一下如何在Ubuntu Server安裝與架設一個master DNS server。

Step1. 安裝DNS server
$ sudo apt install bind9

Step2. 新增Zone 
$ cd /etc/bind9
$ sudo vi zones.example.com
zone "example.com" {
    type master;
    file "/etc/bind/db.example.com";
};
Step3. 將新增的Zone加入到DNS server
$ sudo vi named.conf.local
include "/etc/bind/zones.example.com";
Step4. 建立zone file
$ sudo vi db.example.com
$TTL    86400
@      IN  SOA server1.example.com. root.server1.example.com. (
                  1     ; Serial
                 86400     ; Refresh
                 3600     ; Retry
                 2419200     ; Expire
                 84600 )   ; Negative Cache TTL
       IN  A      10.10.10.253
       IN  NS     server1.example.com.

server1    IN  A      10.10.10.253
x1            IN  A      10.10.10.100

Step5. 重新啟動DNS server
$ sudo systemctl restart bind9


以下開始來測試囉!
Step1. 將DNS指向localhost
$ sudo vi /etc/netplan/50-cloud-init.yaml
network:
    ethernets:
        enp0s3:
            dhcp4: true
            nameservers:
                addresses: [127.0.0.1, 168.95.1.1]
    version: 2
$ sudo netplan apply

Step2. 來個正解查詢:
$ host server1.example.com
server1.example.com has address 10.10.10.253

Friday, January 17, 2020

How can I check DNS server on Ubuntu? (systemd based)

玩過SysV的朋友們,古早時期應該都會去看/etc/resolv.conf來查看目前機器所使用的DNS Server,不過這招在systemd架構下已經不管用了,取而代之的是透過以下的command來確定自己目前所使用的DNS server是哪一個IP。

$ sudo systemd-resolve --status | grep 'DNS Servers'

在此簡單紀錄一下。

Friday, November 22, 2019

Install Powerline in Ubuntu 18.04

Powerline是隻用Python寫的小外掛程式,主要是可以讓你的Linux shell變得更漂亮,而且安裝與配置上實在是非常簡單,只要以下兩個步驟就搞定囉!

Step1:
$ sudo apt-get install powerline

Step2:
$ vi ~/.bashrc
# Powerline
POWERLINE_SCRIPT=/usr/share/powerline/bindings/bash/powerline.sh
if [ -f $POWERLINE_SCRIPT ]; then
  source $POWERLINE_SCRIPT
fi

最後重新開啟一個新的shell或是登出/登入系統後,你就有一個漂亮的shell環境了!

使用前:

使用後:



11/28 更新:
總覺得初始值的Powerline+PS1實在太陽春了,網路上搜尋了一下,果然有強者做了加強版本來外掛!請參考Pureline讓你的tty更好用吧!

Friday, November 15, 2019

Install Notepad++ on Ubuntu

You can find Notepad++ from Sanp, so that you can install it with command below:

$ sudo snap install notepad-plus-plus






Wednesday, November 06, 2019

Ubuntu Server + desktop environment

雖然說Ubuntu Server預設只有文字介面可以使用,但使用者還是可以安裝上圖形介面環境(而且還很容易),只要執行以下3個命令,你就可以選擇自己所喜歡的桌面環境。

$ sudo apt-get install xubuntu-desktop
$ sudo apt-get install lubuntu-desktop
$ sudo apt-get install kubuntu-desktop

xubuntu, lubuntu, kubuntu的差別可以參考以下的連結。
Ubuntu各版本主要差異

如果想讓系統開機還是使用文字介面(runlevel 3)的話,可以執行以下的命令:
$ sudo systemctl set-default multi-user

反之執行以下的命令後系統又會切回圖形介面環境(runlevel 5):
$ sudo systemctl set-default graphical