Mục đích sau cùng của tất cả những thứ này là gia tăng trải nghiệm người dùng. Một doanh nghiệp có thể đang sử dụng nhiều ứng dụng. Mỗi ứng dụng này chắn chắn sẽ chứa users. Cách làm truyền thống và dễ gặp nhất đó là mỗi ứng dụng sẽ có một danh sách users tách biệt. Tuy nhiên, cách làm này làm giảm trải nghiệm người dùng rất nhiều, họ phải đăng nhập lại cho mỗi ứng dụng họ muốn sử dụng, ghi nhớ password; là người quản trị, việc thêm users / xóa users cho hệ thống cũng sẽ mệt mỏi vì phải làm việc này cho từng ứng dụng một, thậm chí ngoài ra còn là về vấn đề bảo mật, chúng ta càng bắt users phải nhập nhiều mật khẩu bao nhiêu, chúng ta càng làm họ dễ mất mật khẩu. Tôi đã từng thấy những người họ sử dụng 1 hoặc 2 mật khẩu và áp dụng nó từ tài khoản zing, gmail cho đến flickr.
Với phía là doanh nghiệp, việc có một hệ thống quản lý danh sách users, hệ thống này là trung gian, nằm chính giữa tất cả các ứng dụng sẽ cực kỳ hữu ích.
II. Các đối tượng tham gia
Identity Provider: Chứa thông tin của users, bên cạnh đó cung cấp giao thức để users có thể đăng nhập vào các ứng dụng (service provider) mà không cần đăng ký lại.
Service Provider*: Ở trong bài viết này, nó được xem như là ứng dụng, để truy cập vào ứng dụng này, chắn chắn users cần đăng nhập. Và với sự hỗ trợ của Identity Provider, nguồn users của ứng dụng sẽ đến từ Identify Provider.
User-Agent: Trình duyệt web
III. Nguyên lý
Sequence Diagram dưới đây miêu tả những từng bước một bắt đầu từ việc users vào service provider, hay còn gọi cách khác là SP-Initiated.
Trong bài viết này, tôi không đề cập đến sequence diagram bắt đầu từ Identity Provider(IdP-Initiated).
Tôi hiện tại đang sở hữu một chiếc mũ bảo hiểm fullface. Về độ an toàn, mũ fullface được đánh giá là cao nhất về độ an toàn cho người sử dụng. Tuy nhiên ở vấn đề sử dụng hàng ngày, tôi không hoàn toàn hài lòng 100% khi sử dụng loại mũ này. Trong dự án tích hợp mũ bluetooth vào mũ fullface, tôi tập trung giải quyết vấn đề nghe của chiếc mũ này. Cá nhân tôi, tôi nhận thấy rằng việc nghe gọi điện thoại sử dụng mũ fullface khá là cồng kềnh vào nhiều thao tác. Tôi đã thử một vài giải pháp. Các bạn có thể tham khảo dưới đây.
Sử dụng tai nghe nhét tai in-ear, kết nối qua jack 3.5mm. Điểm lợi của phương án này là nghe gọi tốt, tín hiệu siêu ổn định, giá thành siêu rẻ. Điểm bất lợi là môi trường âm thanh của người lá xe bị cô lập, gây nguy hiểm, đây là điểm yêu chí tử của phương án này. Khả năng cô lập âm thanh tất nhiên phụ thuộc vào từng loại tai nghe in-ear, tuy nhiên ở góc nhìn của tôi, tôi không hài lòng cho lắm. Bên cạnh đó, vấn đề dây nhợ hơi khó chịu, trong trường hợp của tôi, tai nghe không có tính năng tăng/giảm âm lượng, chuyển nhạc tới/lui cũng là một cái khó chịu nữa.
Sử dụng tai nghe nhét tai in-ear bluetooth. Ngoài vấn đề cô lập môi trường âm thành chưa được giải quyết, vẫn tồn tại. Hạn chế tiếp theo của loại tai nghe này đó là việc tăng/giảm âm lượng, chuyển bài hát tới/lui. Thêm vào đó, việc nhận/từ chối cuộc gọi cũng phải thao tác trên máy điện thoại. Những vấn đề này làm ảnh hưởng đến trải nghiệm người dùng của tôi một cách tiêu cực.
Sau những lần thử như trên, tôi quyết định sử dụng phương án khác đó là lắp hẳn loa vào mũ bảo hiểm, cố tình gia tăng khoảng cách giữa tai người sử dụng và màng loa. Về mặt điều khiển, Việc tăng/giảm âm lượng, chuyển bài hát tới/lui , nghe / từ chối cuộc gọi sẽ được điểu khiển trực tiếp trên mũ bảo hiểm và không cần đến máy điện thoại. Về khía cạnh âm trường, tôi rất hài lòng về việc người lái xe không bị cô lập với môi trường xung quanh như tai nghe nhét tai, tăng tính an toàn khi lái xe. Về mặt điều khiển, phương án này hoàn toàn giải quyết vấn đề tăng / giảm âm lượng, chuyển bài hát tới/lui, nghe /từ chối cuộc gọi. Về vấn đề dây nhợ, hoàn toàn không phát sinh dây nhợ giữa mũ bảo hiểm và thiết bị phát âm thanh.
II. Kỳ Vọng
Trong quá trình thử nghiệm, tôi đã cân nhắc về việc giấu mạch và đặt pin trong mũ. Tuy nhiên sau khi xem xong video pin phát nổ, tôi hoàn toàn không muốn tiếp cận theo hướng này. Quá nguy hiểm cho người sử dụng. Sự đánh đối là không xứng đáng.
Bên cạnh đó, tôi kì vọng rằng trong tương lại tôi sẽ có thể tích hợp mạch phát của thiết bị SONY WH-1000XM4. Mạch của chiếc tai nghe này thỏa mãn kha khá các nhu câu của tôi.
Tính năng nghe mà tôi đánh giá cực kì cao đó là khả năng trộn âm thanh của thiết bị, ở khía cạnh tích hợp vào mũ bảo hiểm, điều này sẽ giúp người nghe không bị tiếng động của người bên kia đầu dây át tiếng môi trường xung quanh, hay đơn giản hơn là tiếng nhạc. Bên cạnh đó, đó là khả năng tái tạo vị trí của nguồn phát ra âm thanh, nói một cách đơn giản, khi người lái xe, nghe được tiếng động cơ, thiết bị phải có khả năng giúp bộ não định hướng được nguồn phát từ đâu.
Tính năng thứ hai mà tôi quan tâm đó là khả năng chống ồn chủ động có chọn lọc, thiết bị cần lọc bớt âm thanh ồn ào không có lợi, điều chỉnh độ to của âm thanh không có lợi xuống mức vừa đủ.
Bên cạnh đó, tôi muốn phát triển thêm bộ điều khiển độc lập trên tay lái. Người lái xe sẽ không cần phải đưa tay lên mũ để làm các thao tác ví dụ như nghe / từ chối cuộc gọi.
III. Thử Nghiệm & Hình Ảnh
[1] Chụp từ bên trái[2] Chụp từ bên phải
Đây là phiên bản mẫu đã chạy thử nghiệm được hơn một tháng. Mẫu thử hoạt động hoàn toàn bình thường với các tính năng sau.
Tăng / giảm âm lượng
Nhận / từ chối cuộc gọi
Chuyển tới / lui bài hát
Khi tiến hành chạy thử nghiệm, điều tôi lo ngại nhất đó là việc chạy xe bị cô lập âm thanh. Cách tiếp cận theo hướng over-ear đã giải quyết được phần nào vấn đề này. Âm thanh người lái xe tiếp nhận hoàn toàn không bị cô lập. Trong suốt khoảng thời gian thử nghiệm sản phẩm này, tôi đã không gặp bất cứ tai nạn nào liên quan đến vấn đề bị cô lập âm trường.
Khi chạy xe qua các khu vực dân cư đông đúc, tôi phát hiện ra rằng tình trạng nhiễu sóng xảy ra khá nhiều. Loanh quanh 4-8 lần tín hiệu bị ngắt, điều này ảnh hưởng không nhỏ đến trải nghiệm nghe. Tuy nhiên, tôi tin rằng, bằng cách sử dụng mạch thu/phát bluetooth xịn xò hơn vấn đề nãy sẽ được cải thiện.
Bên cạnh đó, khi lái xe, việc phải đưa tay lên mũ ấn nút cũng hoàn toàn có thể cải thiện. Ở các phiên bản tiếp theo, tôi hi vọng mình còn tham lam để phát triển thêm bộ điểu khiển trên tay lái.
Let say there is a host in the network that open a port at 80. The main question is how to determine the host. Using nmap is the best solution.
After you have successfully installed the nmap, you can use the following command.
This post is all about ploting on terminal. First of all, you need to determine the --farmer_public_key and --pool_public_key using the following command:
chia keys show;
Finally, run the following command chia plots create to plot:
chia plots create --size 32 --num 1 --num_threads 2 --buckets 128 \--farmer_public_key xxxxxx \ # <--- modify here to your farmer public key--pool_public_key yyyyyy \ # <--- modify here to your pool public key--tmp_dir /home/nguyenvinhlinh/Temporary/Chia/tmp/ \ # <--- modify here to your temporary path--final_dir /home/nguyenvinhlinh/Temporary/Chia/plots/;# <--- modify here to your final path
For more details, please check command reference with command chia plots create --help;
Usage: chia plots create [OPTIONS]
Options:
-k, --size INTEGER Plot size [default: 32]
--override-k Force size smaller than 32 [default: False]
-n, --num INTEGER Number of plots or challenges [default: 1]
-b, --buffer INTEGER Megabytes for sort/plot buffer [default:
3389]
-r, --num_threads INTEGER Number of threads to use [default: 2]
-u, --buckets INTEGER Number of buckets [default: 128]
-a, --alt_fingerprint INTEGER Enter the alternative fingerprint of the key
you want to use
-c, --pool_contract_address TEXT
Address of where the pool reward will be
sent to. Only used if alt_fingerprint and
pool public key are None
-f, --farmer_public_key TEXT Hex farmer public key
-p, --pool_public_key TEXT Hex public key of pool
-t, --tmp_dir PATH Temporary directory for plotting files
[default: .]
-2, --tmp2_dir PATH Second temporary directory for plotting
files
-d, --final_dir PATH Final directory for plots (relative or
absolute)[default: .]
-i, --plotid TEXT PlotID in hex for reproducing plots
(debugging only)-m, --memo TEXT Memo in hex for reproducing plots (debugging
only)-e, --nobitfield Disable bitfield
-x, --exclude_final_dir Skips adding [final dir] to harvester for
farming
-h, --help Show this message and exit.
Determine touchscreen device ID using following command xinput. It will give a list of all available input device.
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]
⎜ ↳ Logitech G304 id=17 [slave pointer (2)]
⎜ ↳ Touchscreen id=30 [slave pointer (2)] # <-------- remember the ID [30]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ HP Truevision HD: HP Truevision id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
↳ HP Wireless hotkeys id=12 [slave keyboard (3)]
↳ HP WMI hotkeys id=13 [slave keyboard (3)]
↳ SINO WEALTH USB KEYBOARD System Control id=14 [slave keyboard (3)]
↳ SINO WEALTH USB KEYBOARD Consumer Control id=15 [slave keyboard (3)]
↳ SINO WEALTH USB KEYBOARD id=16 [slave keyboard (3)]
↳ Logitech G304 id=18 [slave keyboard (3)]
Disable the input device using this command xinput disable 30. 30 is the device ID.
How to disable touchscreen permanently?
Go to the following file /usr/share/X11/xorg.conf.d/10-evdev.conf
Find a config section contained touchscreen config, for example:
Section"InputClass"Identifier"evdev touchscreen catchall"# <-------- Look at this Identifier
MatchIsTouchscreen"on"MatchDevicePath"/dev/input/event*"Driver"evdev"Option"Ignore""on"# <-------- Add this config to ignore the touchscreen input.
EndSection
Add Option "Ignore" "on" to ignore touchscreen input.
Sau một thời gian dài chịu đựng sự ồn ào của bé trâu. Tôi đã quyết định cho bé lên trại. Sau một khoảng thời gian theo dõi vấn đề nhiệt độ của 3080 lại phát sinh.
Lần này không phải là của MSI 3080 TRIO mà là của MSI 3080 VENTUS 10G OC. Nguyên nhân chắc chắn là đến từ nhiều phía.
Từ nhiệt độ môi trường xung quanh
Từ cách thiết kế case 4U chưa hợp phù hợp cho những card màn hình sử dụng loại ram GDDR6X.
Từ nguồn nhiệt tỏa ra từ những card màn hình xung quanh trong case 4U.
Từ chính hệ thống tản nhiệt của card màn hình,
Từ tôi, sự tham lam Hashrate của chính mình.
Ở bài viết này tôi sẽ miêu tả tình trạng của MSI 3080 VENTUS 10G OC trước và sau khi cải thiện, cũng như là cách thiết lập của mình trên MSI Afterburner
II. Phương pháp
Tôi có tham khảo nhiều phương cách của những người chơi card màn hình 3090 trước. Họ gắn thêm ốp lưng nhôm cho card màn hình, tiếp theo là gắn quạt luôn. Cách tiếp cận này rất hiệu quả, tuy nhiên độ mỹ thuật và tinh tế có lẽ không tỷ lệ thuận với sự hiệu quả mà nó mang lại.
[1] Ốp nhôm + quạt cho lưng 3090. Ảnh tìm trên mạng
Dưới đây là phương pháp tôi sử dụng. Tôi đã đốt một ngày nghỉ + một đống pad tản nhiệt gelid 15W và Gel tản nhiệt cho lần thử nghiệm này.
Thay pad tản nhiệt của vram gốc thành gelid 15W - 2 mm
Thay gel tản nhiệt Noctua H2
Độn phần pad tản nhiệt của vram gốc thêm gelid 15W - 0.5 mm
Cắt tấm mica thay thế ốp nhôm của case4U, đục lỗ để lắp quạt. Hút khí thổi ra từ card màn hình. Lý do sử dụng mica thay thì nhôm là vì ánh sáng LED nhấp nháy sẽ giúp bạn không lạc lối trên con đường đào coin khó khăn mệt mỏi.
Lắp thêm 3 quạt nữa để hút khí nóng thổi ra từ card.
[1] Gel Noctua H2 & Gelid 15W 1.0mm[2] Tấm mica + đã đục lỗ lắp thêm quạt[3] Quạt lắp thêm trên tấm mica.[5] 9/3/2021 21:57. Kết quả sau cùng
III. So sánh trước và sau (100MH/s)
a. Trước
Để đạt được con số 100.433MH/s, mức thiết lập của tôi là:
Power Limit: 80%
Temperature Limit: 65C
Core Clock: -502MHz
Memory Clock: 1300Mhz
Với mức thiết lập này, nhiệt độ sẽ cho ra như sau:
GPU Temperature: 62C
GPU Memory Junction Temperature: 110C
[6] Card số #1, MSI VENTUS 10G OC - 100.433MH/s[7] Thiết lập MSI Afterburner.
b. Sau
[8] MSI 3080 VENTUS 10G OC - 100.493MH/s
Để đạt được con số 100.433MH/s, mức thiết lập của tôi cũng như lúc trước:
Power Limit: 80%
Temperature Limit: 65C
Core Clock: -502MHz
Memory Clock: 1300Mhz
Với mức thiết lập này, nhiệt độ sẽ cho ra như sau:
GPU Temperature: 62C
GPU Memory Junction Temperature: 96C
Kết luận đơn giản nhất mà tôi có thể đưa ra ngay lúc này đó là VRAM đã giảm đc 14 độ C. Từ 110 độ C xuống còn 96 độ C. Với những ai đang sở hữu
card màn hình có sử dụng vram loại GDDR6X đều muốn xuống dưới mức 100 độ C. 96 độ C cho vram chạy 100.433MH/s là rất tuyệt vời.
Để đạt được con số 95.539MH/s, mức thiết lập của tôi cũng như sau:
Power Limit: 77%
Temperature Limit: 65C
Core Clock: -502MHz
Memory Clock: 800Mhz
Với mức thiết lập này, sau khi quan trắc nhiệt độ sẽ cho ra như sau:
11:45 trưa
GPU Temperature: 65C
GPU Memory Junction Temperature: 96C
21:21 tối
GPU Temperature: 63C
GPU Memory Junction Temperature: 94C
V. Vấn đề
Tôi chắc chắn là đã khắc phục thành công vấn đề nhiệt của VRAM bằng cách thay pad và lắp thêm quạt. Tuy nhiên vì lý do thi công lắp đặt, tôi đã tạo ra vấn đề mới với GPU core.
Nhiệt độ của VRAM ở trên ảnh là ở mức dưới 100C, tuy nhiên nhiệt độ GPU thì bị tăng 1-2C lên 65-66C. Tôi sẽ tìm cách khắc phục vấn đề này sau.
Thời điểm tôi quan trắc cũng là vấn đề lớn, thông tin quan trắc bị ảnh hưởng nhiều bởi nhiệt độ xung quanh.
Bài viết này phục vụ mục đích duy nhất là đó là nếu tôi lỡ tay xóa mấy profile trên MSI Afterburner. Tôi sẽ quay lại đây xem. Hiện tại đây là 4 VGA trực thuộc dàn #1 Thanh Long
No
VGA
1
MSI 3080 GAMING X TRIO
2
ASUS 3080 ROG STRIX GAMING OC
3
MSI 3080 VENTUS 10G OC
4
MSI 3080 GAMING X TRIO
[1] Dàn 3080 - #1 Thanh Long
II. Ethereum - MSI Afterburner - 95MH/s
Mức thiết lập này được tinh chỉnh hoàn toàn trên MSI Afterburner. Có thể sử dụng cách này kết hợp với lệnh nvidia-smi để hỗ trợ việc overclock.
a. Tinh chỉnh tốc độ quạt theo nhiệt độ
30C –> 40% Fan
50C –> 80% Fan
60C –> 90% Fan
65C –> 100% Fan
[2] Tinh chỉnh tốc độ quạt
b. Tinh chỉnh MSI Afterburner
No. VGA
Power Limit
Temp. Limit
Core Clock
Mem Clock
[1] MSI 3080 GAMING X TRIO
106%
65C
-502MHz
+825Mhz
[2] ASUS 3080 ROG STRIX GAMING OC
67%
65C
-502MHz
+800Mhz
[3] MSI 3080 VENTUS 10G OC
77%
65C
-502MHz
+800Mhz
[4] MSI 3080 GAMING X TRIO
106%
65C
-502MHz
+825Mhz
c. Kết quả thu được
No. VGA
Power Consumption
Hashrate
GPU Temperature
Memory Temperature
[1] MSI 3080 GAMING X TRIO
235 Walt
95.436MH/s
58C
98C
[2] ASUS 3080 ROG STRIX GAMING OC
248 Walt
95.474MH/s
58C
96C
[3] MSI 3080 VENTUS 10G OC
246 Walt
95.443MH/s
62C
94C
[4] MSI 3080 GAMING X TRIO
235 Walt
95.436MH/s
58C
98C
Total
964 Walt
381.789MH/s
–
–
III. Ethereum - Minerstat - 95MH/s
Đây là thiết lập sử dụng trong Minerstat, khi sử dụng các thiết lập này, hoàn toàn không cần thiết sử dụng MSI Afterburner.
Lợi thế nhiều nhất sử dụng thiết lập này là lượng điện tiêu thụ ít hơn hẳn so với MSI Afterburner, tầm 50 Walt, lý do là vì gpu-clock
tinh chỉnh ở mức thấp hơn mức cho phép trên MSI Afterburner (nhỏ nhất là -502MHz).
a. Tinh chỉnh ClockTune
Mode: Built-in (Default)
Power Limit (%): skip
Core Clock (-/+ MHz): skip
Locked Memory Clock (MHz): skip
Force P2 State: skip
ClockTune delay: 30
No
VGA
Power Limit (Walt)
Locked Core Clock (MHz)
Memory Clock (-/+ MHz)
1
MSI 3080 GAMING X TRIO
392
1170
850
2
ASUS 3080 ROG STRIX GAMING OC
240
1170
800
3
MSI 3080 VENTUS 10G OC
240
1170
950
4
MSI 3080 GAMING X TRIO
392
1170
850
b. Triggers trong Minerstat
IF GPU temperature OF Any IS >=40°C THEN Set fans TO 60%
IF GPU temperature OF Any IS >=50°C THEN Set fans TO 85%
IF GPU temperature OF Any IS >=55°C THEN Set fans TO 90%
IF GPU temperature OF Any IS >=60°C THEN Set fans TO 95%
IF GPU temperature OF Any IS >=65°C THEN Set fans TO 100%
c. Kết quả thu được
No. VGA
Power Consumption
Hashrate
GPU Temperature
Memory Temperature
[1] MSI 3080 GAMING X TRIO
223 Walt
96.310 MH/s
52C
98C
[2] ASUS 3080 ROG STRIX GAMING OC
239 Walt
95.426 MH/s
52C
96C
[3] MSI 3080 VENTUS 10G OC
233 Walt
97.450 MH/s
55C
96C
[4] MSI 3080 GAMING X TRIO
224 Walt
96.257 MH/s
48C
92C
Total
919 Walt
385.443 MH/s
–
–
[3] MinerStat
II. Mức thiết lập - Kaspa - 835MH/s
Tinh chỉnh quạt sẽ giống như cho Ethereum
a. Tinh chỉnh MSI Afterburner
No. VGA
Power Limit
Temp. Limit
Core Clock
Mem Clock
[1] MSI 3080 GAMING X TRIO
–
65C
+170Mhz
-502MHz
[2] ASUS 3080 ROG STRIX GAMING OC
–
65C
+170Mhz
-502MHz
[3] MSI 3080 VENTUS 10G OC
–
65C
+170Mhz
-502MHz
[4] MSI 3080 GAMING X TRIO
–
65C
+170Mhz
-502MHz
b. Tinh chỉnh thêm với nvidia-smi
Mục tiêu là giảm memory clock xuống thấp hơn nữa, thấp hơn cả mức chỉnh trên MSI Afterburner. Nếu sử dụng phương án này thì chỉ cần quan tâm đến
chỉnh quạt trên MSI Afterburner mà thôi. Powerlimit cũng sẽ không cần quan tâm.