Что посоветуете почитать по Python, чтобы подтянуть теорию?
Сабж
Нужно именно как и почему оно работает, чем отличается <похожаяфича_нейм_1> от <похожаяфича_нейм_2>, немного про внутреннее устройство и подобное.
Сабж
Нужно именно как и почему оно работает, чем отличается <похожаяфича_нейм_1> от <похожаяфича_нейм_2>, немного про внутреннее устройство и подобное.
Public Service Announcement:
Случайно обнаружил, что bfq на многих ssd сводит производительность к однопоточной.
На nvme и sata Samsung’ах всё в порядке, и пропускная способность bfq растёт с количеством одновременных запросов.
А на ADATA и Transcend вот так:
Device Model: TS256GMTS400S
Serial Number: 0F109200E32506200140
Firmware Version: P1225CH4
ATA Version is: ACS-2 (minor revision not indicated)
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Timing O_DIRECT disk reads: 1472 MB in 3.00 seconds = 489.96 MB/sec
/dev/sda, 256.06 GB, 1 threads:
512 B blocks: 11361.3 IO/s, 5.5 MiB/s ( 46.5 Mbit/s)
1 KiB blocks: 7762.1 IO/s, 7.6 MiB/s ( 63.6 Mbit/s)
2 KiB blocks: 4545.7 IO/s, 8.9 MiB/s ( 74.5 Mbit/s)
4 KiB blocks: 2476.4 IO/s, 9.7 MiB/s ( 81.1 Mbit/s)
8 KiB blocks: 2483.9 IO/s, 19.4 MiB/s (162.8 Mbit/s)
16 KiB blocks: 2271.1 IO/s, 35.5 MiB/s (297.7 Mbit/s)
32 KiB blocks: 1941.6 IO/s, 60.7 MiB/s (509.0 Mbit/s)
64 KiB blocks: 1360.1 IO/s, 85.0 MiB/s (713.1 Mbit/s)
128 KiB blocks: 968.5 IO/s, 121.1 MiB/s ( 1.0 Gbit/s)
/dev/sda, 256.06 GB, 4 threads:
512 B blocks: 12958.1 IO/s, 6.3 MiB/s ( 53.1 Mbit/s)
1 KiB blocks: 8832.4 IO/s, 8.6 MiB/s ( 72.4 Mbit/s)
2 KiB blocks: 4945.6 IO/s, 9.7 MiB/s ( 81.0 Mbit/s)
4 KiB blocks: 2598.6 IO/s, 10.2 MiB/s ( 85.2 Mbit/s)
8 KiB blocks: 2553.3 IO/s, 19.9 MiB/s (167.3 Mbit/s)
16 KiB blocks: 2410.9 IO/s, 37.7 MiB/s (316.0 Mbit/s)
32 KiB blocks: 2089.0 IO/s, 65.3 MiB/s (547.6 Mbit/s)
64 KiB blocks: 1463.4 IO/s, 91.5 MiB/s (767.2 Mbit/s)
128 KiB blocks: 1056.8 IO/s, 132.1 MiB/s ( 1.1 Gbit/s)
Этот же Transcend, но с mq-deadline:
/dev/sda, 256.06 GB, 4 threads:
512 B blocks: 42803.6 IO/s, 20.9 MiB/s (175.3 Mbit/s)
1 KiB blocks: 34526.3 IO/s, 33.7 MiB/s (282.8 Mbit/s)
2 KiB blocks: 24795.4 IO/s, 48.4 MiB/s (406.2 Mbit/s)
4 KiB blocks: 15848.5 IO/s, 61.9 MiB/s (519.3 Mbit/s)
8 KiB blocks: 15403.9 IO/s, 120.3 MiB/s ( 1.0 Gbit/s)
16 KiB blocks: 9705.9 IO/s, 151.7 MiB/s ( 1.3 Gbit/s)
32 KiB blocks: 5583.4 IO/s, 174.5 MiB/s ( 1.5 Gbit/s)
64 KiB blocks: 2967.9 IO/s, 185.5 MiB/s ( 1.6 Gbit/s)
128 KiB blocks: 1666.6 IO/s, 208.3 MiB/s ( 1.7 Gbit/s)
Если у вас не Самсунг, то bfq лучше не использовать.
P.S. Ещё едет терабайтный WD Blue, дополню позже.
P.P.S. Linux lin 5.10.0-0.bpo.5-amd64 #1 SMP Debian 5.10.24-1~bpo10+1 (2021-03-29) x86_64 GNU/Linux
Очередной мук выбора тред =)
Хочу взять себе компик для работы. Как правило у меня запущенны: редактор, браузер и… и всё. Может быть запущен ещё один браузер, и ещё один редактор. Упор хочу сделать на быстрый SSD.
Бюджет: ~30k гривен (~80k) рублей
Я в этих вопросах не очень шарю, поэтому надавайте мне советов, на что смотреть и т.д.
А ещё есть парочка вопросов:
Надо передать весь экран планшета в отдельное окно на другом компе, где стоит ubuntu. Цель простая - использовать планшет как графический экран для лекций. Начал искать в инете и вообще запутался. Есть например webrtc desktop. Приложение хрома. Как пользоваться одному аллаху известно. Надо же так все засекретить, так и не нашел. Поделитесь кто знает какое нибудь решение на основе webrtc или что нибудь другое.
кто что использует?
чтобы клиенты под мобилки (андроид, иос и тд) были
Вряд ли это многим будет интересно, но на всякий случай держу в курсе. Казахтелеком в Нур-Султане подменяет сертификат при попытке зайти на https://rutracker.org/ (и, вероятно, некоторые другие сайты). Ещё несколько дней назад вышеупомянутый достойный сайт по https не открывался совсем, а по http открывался без проблем.
многобуков
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
e7:c6:d8:ff:97:5d:46:03:95:44:a3:c1:c0:3e:1d:7e
Signature Algorithm: sha256WithRSAEncryption
Issuer: C = KZ, O = ISCA, CN = Intermediate
Validity
Not Before: May 2 16:03:17 2021 GMT
Not After : Jul 31 16:03:17 2021 GMT
Subject: CN = rutracker.org
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:b4:80:70:49:32:04:7b:e1:9f:05:96:11:79:1a:
4d:7e:bf:d8:a7:65:42:91:28:fd:e3:63:28:40:10:
ae:c2:57:0b:73:fc:4d:c7:2c:cf:d1:28:8e:0e:a1:
f0:3d:84:53:2a:91:71:42:e4:bd:0f:f3:5c:86:06:
7b:6b:9b:b8:2c:06:d8:fa:19:12:72:43:d0:ba:71:
b9:9f:8e:2b:d2:fa:ce:3f:f5:e4:30:2f:e8:34:29:
52:1a:44:66:44:f9:4b:2c:73:06:fe:17:eb:10:54:
1b:8f:07:9c:cb:23:15:dd:81:73:39:31:64:6f:2c:
45:f3:a6:12:bc:24:a1:83:a7:c2:ef:23:e1:06:c0:
a4:52:f6:63:00:0f:33:d5:47:11:9f:dd:59:4c:2f:
f2:3c:10:e7:11:7e:6f:dd:e6:72:83:34:dd:ea:1d:
08:ec:5f:c7:ef:42:72:8a:b2:a7:a9:90:6d:d5:5f:
37:49:f6:91:68:83:2f:05:a5:2a:5f:0e:9e:3d:3d:
c5:9d:7f:0d:7b:df:8d:3c:ac:9c:4b:8d:f3:e3:34:
5c:8a:18:c9:ac:08:ae:b5:2f:5e:55:2c:31:dc:53:
79:a5:4a:a1:32:c5:d7:ee:4c:d2:6e:75:98:a1:e0:
9b:26:2d:a3:aa:13:05:15:8f:6c:3b:95:9a:f7:7a:
ad:6f
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
F3:D1:9C:A6:73:5E:B7:24:A5:65:A5:3B:4A:80:B9:BE:EC:41:AF:9F
X509v3 Authority Key Identifier:
keyid:DF:15:4C:1F:E4:DB:5C:A5:78:9E:08:22:15:42:59:B0:B6:66:A7:FE
DirName:/CN=Information Security Certification Authority/O=ISCA/C=KZ
serial:5F:15:4C:1F:E4:DB:5C:A5:78:9E:08:22:15:42:59:B0:B6:66:A7:FE
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Key Usage:
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
X509v3 Subject Alternative Name:
DNS:rutracker.net, DNS:rutracker.nl, DNS:rutracker.org
Signature Algorithm: sha256WithRSAEncryption
a5:48:85:33:8c:e4:0c:02:08:d3:77:cb:57:a0:96:8d:92:fa:
e2:7a:93:ff:e0:ae:57:5a:fa:6c:6c:f0:a3:cb:77:19:0a:98:
f5:da:cf:2f:1e:11:f8:28:d5:9f:28:71:fd:55:36:8c:8b:23:
bd:4e:da:9c:12:01:3a:77:76:e3:ff:c7:f8:32:7e:7f:37:e2:
9d:50:5c:5b:49:c1:a6:1b:0f:42:22:f9:fe:d0:23:9e:ab:2f:
f3:d0:85:ca:62:9f:28:02:f6:a4:4f:0c:61:96:b7:e7:05:3d:
f7:f3:de:d1:4b:49:fb:bf:d2:50:f7:f8:f7:56:27:38:92:ca:
29:fd:3a:45:63:61:97:a5:53:ad:87:62:c9:22:b0:7b:9d:f7:
50:65:15:cd:35:ce:8b:75:ff:41:a6:1a:85:be:23:f8:ac:72:
bc:44:bc:99:f8:46:72:4e:eb:39:76:f4:d8:37:e6:43:1c:a8:
e4:25:e5:f5:92:7d:e8:48:1b:85:cf:ae:a9:21:72:9c:46:4b:
a4:36:bb:1d:38:60:42:2a:e4:48:9c:da:83:19:13:fe:16:7f:
0d:ed:a4:6e:83:e2:34:a4:c0:b1:41:71:07:b6:52:e0:19:32:
5b:8c:31:69:8e:82:37:95:ab:ac:fb:f7:0a:bc:c8:1e:a8:3b:
53:95:9a:aa
-----BEGIN CERTIFICATE-----
MIID/zCCAuegAwIBAgIRAOfG2P+XXUYDlUSjwcA+HX4wDQYJKoZIhvcNAQELBQAw
MzELMAkGA1UEBhMCS1oxDTALBgNVBAoTBElTQ0ExFTATBgNVBAMTDEludGVybWVk
aWF0ZTAeFw0yMTA1MDIxNjAzMTdaFw0yMTA3MzExNjAzMTdaMBgxFjAUBgNVBAMT
DXJ1dHJhY2tlci5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC0
gHBJMgR74Z8FlhF5Gk1+v9inZUKRKP3jYyhAEK7CVwtz/E3HLM/RKI4OofA9hFMq
kXFC5L0P81yGBntrm7gsBtj6GRJyQ9C6cbmfjivS+s4/9eQwL+g0KVIaRGZE+Uss
cwb+F+sQVBuPB5zLIxXdgXM5MWRvLEXzphK8JKGDp8LvI+EGwKRS9mMADzPVRxGf
3VlML/I8EOcRfm/d5nKDNN3qHQjsX8fvQnKKsqepkG3VXzdJ9pFogy8FpSpfDp49
PcWdfw173408rJxLjfPjNFyKGMmsCK61L15VLDHcU3mlSqEyxdfuTNJudZih4Jsm
LaOqEwUVj2w7lZr3eq1vAgMBAAGjggEnMIIBIzAdBgNVHQ4EFgQU89GcpnNetySl
ZaU7SoC5vuxBr58wgZAGA1UdIwSBiDCBhYAU3xVMH+TbXKV4nggiFUJZsLZmp/6h
V6RVMFMxNTAzBgNVBAMTLEluZm9ybWF0aW9uIFNlY3VyaXR5IENlcnRpZmljYXRp
b24gQXV0aG9yaXR5MQ0wCwYDVQQKEwRJU0NBMQswCQYDVQQGEwJLWoIUXxVMH+Tb
XKV4nggiFUJZsLZmp/4wDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBaAwHQYDVR0l
BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMDUGA1UdEQQuMCyCDXJ1dHJhY2tlci5u
ZXSCDHJ1dHJhY2tlci5ubIINcnV0cmFja2VyLm9yZzANBgkqhkiG9w0BAQsFAAOC
AQEApUiFM4zkDAII03fLV6CWjZL64nqT/+CuV1r6bGzwo8t3GQqY9drPLx4R+CjV
nyhx/VU2jIsjvU7anBIBOnd24//H+DJ+fzfinVBcW0nBphsPQiL5/tAjnqsv89CF
ymKfKAL2pE8MYZa35wU99/Pe0UtJ+7/SUPf491YnOJLKKf06RWNhl6VTrYdiySKw
e533UGUVzTXOi3X/QaYahb4j+KxyvES8mfhGck7rOXb02DfmQxyo5CXl9ZJ96Egb
hc+uqSFynEZLpDa7HThgQirkSJzagxkT/hZ/De2kboPiNKTAsUFxB7ZS4BkyW4wx
aY6CN5WrrPv3CrzIHqg7U5Waqg==
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
5f:15:4c:1f:e4:db:5c:a5:78:9e:08:22:15:42:59:b0:b6:66:a7:fe
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN = Information Security Certification Authority, O = ISCA, C = KZ
Validity
Not Before: Jun 18 12:54:34 2021 GMT
Not After : Sep 1 12:54:34 2021 GMT
Subject: C = KZ, O = ISCA, CN = Intermediate
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:b8:30:cf:c6:a9:9b:dd:b1:ce:ab:38:27:35:cc:
b9:88:45:04:65:70:46:ae:96:f7:43:35:d3:52:e0:
3a:1e:4b:64:3a:59:f1:b6:fa:87:ab:b3:df:5e:d8:
66:bd:87:89:1f:29:40:43:16:e9:d4:5a:6c:e9:38:
5f:cb:8e:a2:f3:6c:6f:0d:a7:53:22:e3:d5:82:dc:
5c:3a:e3:83:b3:c3:62:4e:46:8c:a4:9d:84:9e:c2:
49:74:f0:7e:e9:c9:8f:be:2a:1d:d3:3a:5b:a6:57:
d6:1f:45:40:0c:83:95:70:f1:f5:fa:ce:a6:5f:92:
c2:bc:b2:68:4a:df:64:14:12:39:b9:35:95:1e:b3:
ea:60:17:be:65:35:95:7c:e6:ac:4b:87:9b:22:5a:
90:7a:69:00:e3:ba:7b:3e:96:71:09:5a:59:e6:7f:
30:fe:34:73:38:b1:8c:14:68:cc:9f:9f:e3:12:92:
af:96:94:5b:59:29:30:12:07:47:f1:7a:2d:45:7c:
c0:ca:9f:04:2b:59:ee:17:cd:8c:85:35:97:fe:c1:
de:5c:47:ef:a8:1a:e0:e9:d2:3d:5f:b9:a1:71:8f:
bb:05:9f:46:78:9a:d1:46:11:af:13:c1:cb:2b:47:
0c:10:74:9a:50:1d:f6:ad:5c:8c:55:48:50:e7:f4:
1b:81
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Key Usage: critical
Certificate Sign, CRL Sign
X509v3 Subject Key Identifier:
DF:15:4C:1F:E4:DB:5C:A5:78:9E:08:22:15:42:59:B0:B6:66:A7:FE
X509v3 Authority Key Identifier:
keyid:25:44:98:FC:AA:DD:96:DE:51:81:47:2E:D0:7B:16:3F:F7:9E:6A:D3
DirName:/CN=Information Security Certification Authority/O=ISCA/C=KZ
serial:25:44:98:FC:AA:DD:96:DE:51:81:47:2E:D0:7B:16:3F:F7:9E:6A:D3
Signature Algorithm: sha256WithRSAEncryption
a1:7e:b3:3a:f2:61:a6:c0:e6:32:90:88:e3:43:f4:b1:c0:2a:
b7:70:8d:f2:14:df:4c:ec:91:33:29:a3:ad:9d:44:87:21:dc:
39:72:b6:97:59:0c:4c:74:f2:6e:76:50:fb:9f:4a:95:dd:d4:
01:c1:47:54:5c:37:35:17:07:3c:14:d9:79:d5:94:28:c2:52:
e6:b1:d0:34:71:9f:10:b7:bc:70:dc:d5:9f:e3:91:7f:4d:16:
f4:ae:24:5f:f5:11:95:a8:88:90:78:a8:ff:43:a7:b6:0a:5a:
c6:c0:3a:22:63:7a:61:30:da:0f:6a:e8:f3:a8:16:79:2f:16:
9e:2e:7b:db:68:59:79:4b:6d:45:1d:2e:8b:bc:83:e0:ff:86:
4c:82:61:92:28:7b:bc:f4:72:b2:3a:50:d0:0a:79:8f:db:27:
2b:ac:6a:20:c1:14:cd:8c:4c:ba:4e:09:f1:2f:c7:dc:40:d2:
66:45:1a:3e:46:e1:ab:61:57:1b:3a:14:2b:c3:21:ec:24:4a:
84:28:b8:09:02:49:56:14:22:1d:92:f1:ea:4b:f0:b8:11:7f:
ca:70:bc:16:08:82:6d:06:49:65:b6:da:e1:5d:8a:e4:0d:22:
11:92:56:30:e2:bb:ab:86:c8:f8:36:20:a2:2b:d7:71:52:d0:
1b:6a:1e:54:09:8b:a3:d1:32:3d:78:c2:59:20:ff:e8:8e:c5:
23:75:74:41:d8:83:fd:e2:1e:b5:5a:d1:59:9f:1f:ad:04:89:
83:86:ee:2b:d4:ce:da:89:65:5e:b1:db:18:fe:d8:9a:df:48:
3f:bb:fc:70:c8:fe:62:cd:50:c7:ef:62:44:ab:88:c9:16:a0:
52:7d:fb:ee:d5:37:25:36:a0:cb:8a:0a:aa:04:59:75:29:a0:
d0:1f:70:05:77:ba:4f:d5:1a:cd:ce:5f:7c:82:31:c4:10:80:
44:9a:2f:e7:3b:32:df:fc:87:d1:0a:59:5a:7c:2b:d2:24:8d:
8c:a3:57:d5:32:bb:71:ed:4e:a3:ad:30:f9:56:14:2c:b1:37:
d6:09:a8:c6:3a:ad:2b:c0:6a:e5:90:12:ed:a5:c9:ee:00:40:
c7:8c:2a:1d:c9:f2:10:f6:f0:f2:92:8a:2a:d5:e4:21:01:21:
29:e8:ac:f0:f3:d0:a7:52:f3:0f:7e:ea:8b:2a:14:27:14:e4:
41:13:ba:93:57:09:22:bd:20:87:67:b8:f3:d8:f7:10:74:e1:
30:ca:8b:e2:c4:e1:fb:19:5d:30:35:e4:9f:24:82:32:b7:1a:
44:46:53:3a:cf:39:96:95:b2:dc:1c:21:7d:7b:a3:90:3c:fc:
a2:8b:11:61:06:cc:c7:ba
-----BEGIN CERTIFICATE-----
MIIE6zCCAtOgAwIBAgIUXxVMH+TbXKV4nggiFUJZsLZmp/4wDQYJKoZIhvcNAQEL
BQAwUzE1MDMGA1UEAxMsSW5mb3JtYXRpb24gU2VjdXJpdHkgQ2VydGlmaWNhdGlv
biBBdXRob3JpdHkxDTALBgNVBAoTBElTQ0ExCzAJBgNVBAYTAktaMB4XDTIxMDYx
ODEyNTQzNFoXDTIxMDkwMTEyNTQzNFowMzELMAkGA1UEBhMCS1oxDTALBgNVBAoT
BElTQ0ExFTATBgNVBAMTDEludGVybWVkaWF0ZTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBALgwz8apm92xzqs4JzXMuYhFBGVwRq6W90M101LgOh5LZDpZ
8bb6h6uz317YZr2HiR8pQEMW6dRabOk4X8uOovNsbw2nUyLj1YLcXDrjg7PDYk5G
jKSdhJ7CSXTwfunJj74qHdM6W6ZX1h9FQAyDlXDx9frOpl+SwryyaErfZBQSObk1
lR6z6mAXvmU1lXzmrEuHmyJakHppAOO6ez6WcQlaWeZ/MP40czixjBRozJ+f4xKS
r5aUW1kpMBIHR/F6LUV8wMqfBCtZ7hfNjIU1l/7B3lxH76ga4OnSPV+5oXGPuwWf
Rnia0UYRrxPByytHDBB0mlAd9q1cjFVIUOf0G4ECAwEAAaOB1jCB0zAPBgNVHRMB
Af8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU3xVMH+TbXKV4nggi
FUJZsLZmp/4wgZAGA1UdIwSBiDCBhYAUJUSY/Krdlt5RgUcu0HsWP/eeatOhV6RV
MFMxNTAzBgNVBAMTLEluZm9ybWF0aW9uIFNlY3VyaXR5IENlcnRpZmljYXRpb24g
QXV0aG9yaXR5MQ0wCwYDVQQKEwRJU0NBMQswCQYDVQQGEwJLWoIUJUSY/Krdlt5R
gUcu0HsWP/eeatMwDQYJKoZIhvcNAQELBQADggIBAKF+szryYabA5jKQiOND9LHA
KrdwjfIU30zskTMpo62dRIch3DlytpdZDEx08m52UPufSpXd1AHBR1RcNzUXBzwU
2XnVlCjCUuax0DRxnxC3vHDc1Z/jkX9NFvSuJF/1EZWoiJB4qP9Dp7YKWsbAOiJj
emEw2g9q6POoFnkvFp4ue9toWXlLbUUdLou8g+D/hkyCYZIoe7z0crI6UNAKeY/b
JyusaiDBFM2MTLpOCfEvx9xA0mZFGj5G4athVxs6FCvDIewkSoQouAkCSVYUIh2S
8epL8LgRf8pwvBYIgm0GSWW22uFdiuQNIhGSVjDiu6uGyPg2IKIr13FS0BtqHlQJ
i6PRMj14wlkg/+iOxSN1dEHYg/3iHrVa0VmfH60EiYOG7ivUztqJZV6x2xj+2Jrf
SD+7/HDI/mLNUMfvYkSriMkWoFJ9++7VNyU2oMuKCqoEWXUpoNAfcAV3uk/VGs3O
X3yCMcQQgESaL+c7Mt/8h9EKWVp8K9IkjYyjV9Uyu3HtTqOtMPlWFCyxN9YJqMY6
rSvAauWQEu2lye4AQMeMKh3J8hD28PKSiirV5CEBISnorPDz0KdS8w9+6osqFCcU
5EETupNXCSK9IIdnuPPY9xB04TDKi+LE4fsZXTA15J8kgjK3GkRGUzrPOZaVstwc
IX17o5A8/KKLEWEGzMe6
-----END CERTIFICATE-----
Корневой сертификат не высылают. Интересно, где его взять. Прошлый раз на сайтах провайдеров публиковали, но его браузеры в чёрный список внесли, тут Subject отличается, значит новый выпустили.
Значит у меня есть старый комп (я себе ноут купил, епта), решил я из него сервер-помойку сделать, поставил Ubuntu Server и на нее поставил avahi-daemon. Значит avahi-daemon.service запущен, но подключиться я могу только по айпи:
~ on ☁️ took 36m13s
❯ ssh sergey@ubuntu.local
ssh: Could not resolve hostname ubuntu.local: Name or service not known
~ on ☁️
❯ ssh sergey@192.168.0.103
sergey@192.168.0.103's password:
Permission denied, please try again.
sergey@192.168.0.103's password:
Welcome to Ubuntu 21.04 (GNU/Linux 5.11.0-18-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Sun Jun 20 08:55:12 PM UTC 2021
System load: 0.14 Memory usage: 1% Processes: 274
Usage of /home: unknown Swap usage: 0% Users logged in: 0
=> There were exceptions while processing one or more plugins. See
/var/log/landscape/sysinfo.log for more information.
* Super-optimized for small spaces - read how we shrank the memory
footprint of MicroK8s to make it the smallest full K8s around.
https://ubuntu.com/blog/microk8s-memory-optimisation
34 updates can be installed immediately.
0 of these updates are security updates.
To see these additional updates run: apt list --upgradable
Last login: Sun Jun 20 20:15:09 2021 from 192.168.0.106
sergey@ubuntu:~$
Что где еще прописать нужно?
В продолжение этой темы.
Камень вчера приехал, в плане binning'а оказался не ок - хоть и PGT и произведен в феврале 2021. Ну т.е ручной разгон CPU в моем случае никакого смысла не имеет, iGPU пока тоже не разгонял.
Сам камень вполне холодный, в стресс-тестах максимальная температура была около 70 °C - и это с моей хреновой башней, с нормальной было бы сильно ниже.
Думаю, вполне годный вариант для рабочей машины, а достаточно мощная встройка после разгона и в играх поразвлекаться позволит.
UPD: На данный момент память стабильно заводится на 4400CL18 1.43V и 1.2V Vsoc.
Скинул до 4200 из-за случайных тепловых ошибок.
Кроме вот этого, есть какая-то коллекция виджетов?
https://github.com/streetturtle/awesome-wm-widgets
Какими виджетами пользуетесь? Делитесь:)
Случилась у меня беда бедовая: красил потолки и не заметил, что оставил на столе свой Kindle Touch 12го года, который служил мне верой и правдой все это время по нескольку часов каждый день. Уронил я на него ножницы и пробил экран. Вроде не насовсем, но появился артефакт, который перекрывает текст при чтении, что заставляет сбиваться и вызывает дискомфорт.
Обидно до слез, ибо я надеялся не менять его еще лет 10 (недавно заменил аккум), т.к. читалка была идеальной (практически сразу взломанной и с джейлбрейком, читал в основном через CoolReader, который еще и обложку книги в режиме сна показывал на экране).
Встал вопрос - что сейчас выбрать из нового? Последний киндл и снова его ломать? Говорят, что они уже не те - экран сплошное стекло, которое может треснуть (мой прожил в режиме бешеного использования, пошоркался корпуском, стерлись надписи и краска, но экран был как новый, только пыльный).
Или что-то из покетбуков? Щупал их, когда дарили в подарок теще, показались на фоне киндла каким-то странным пластиковым куском фигни, не вызывающим доверия. А если их, то на какие смотреть? Вроде хвалят 632 аква, но тут же в отзывах пишут про лопающиеся экраны на третий день. Просто 632 - тоже местами в отзывах ругают за лаги и глюки.
На что смотреть, камрады?
Допустим, у нас есть структура игрового движка:
struct GameEngine {
... тут всякие кроссплатформенные поля вроде id OpenGL программ и т. д. ...
}
impl GameEngine {
fn new() -> GameEngine {
GameEngine {
...
}
}
fn render(&mut self) {
...
}
... какие-то ещё методы для обработки всяких событий ...
}
Дальше, мы хотим реализовать дочерний класс, который бы реализовывал движок под конкретную платформу. В Rust принято использовать композицию вместо наследования, окей:
struct SDLGameEngine {
GameEngine engine;
... Всякие платформозависимые переменные ...
window: sdl2::video::Window
}
impl SDLGameEngine {
fn new() -> SDLGameEngine {
SDLGameEngine {
engine: GameEngine::new(),
...
}
}
fn main_loop(&mut self) {
loop {
self.handle_events();
self.engine.render();
}
}
...
}
Всё хорошо до тех пор, пока SDLGameEngine полностью рулит GameEngine - вызывает всякие разные методы в ответ на всякие разные события (рендер, нажатие клавиш, движения мыши), а GameEngine меняет только своё внутреннее состояние и дёргает вызовы OpenGL.
Однако в один прекрасный момент нам захотелось показывать FPS в заголовке окна. При этом логика рассчёта FPS, очевидно, не зависит от платформы, а вот процедура смены заголовка окна явно зависит. Так что теперь GameEngine должен повлиять на SDLGameEngine, а не наоборот.
Окей, делаем трейт:
trait GameEnginePlatform {
fn set_title(&mut self, title: &str);
}
А теперь у нас есть три варианта:
1. Реализуем трейт для SDLGameEngine (ведь в нём лежит реальное окно). Но не можем передать его в конструктор GameEngine, потому что в момент создания GameEngine SDLGameEngine ещё не существует. В свою очередь SDLGameEngine не может быть создан без экземпляра GameEngine. Начинать использовать указатели как-то глупо с учётом того, что структура очень простая (кто кем владеет) и у нас нет проблем с управлением памятью.
2. Реализуем трейт для SDLGameEngine (ведь в нём лежит реальное окно). Не будем передавать его в конструктор, добавим аргумент к функции render:
fn render(&mut self, platform: &mut dyn GameEnginePlatform) {
...
platform.set_title(...);
}
...
fn main_loop(&mut self) {
loop {
self.handle_events();
self.engine.render(self);
}
}
Получаем ошибку заимствования:
| self.engine.render(self);
| ^^^^^^^^^^^^^^^^^^^----^
| | |
| | first mutable borrow occurs here
| second mutable borrow occurs here
| first borrow later captured here by trait object
В целом логично.
3. Дробим SDLGameEngine на две части. Одна основная, а другая управляет окном и реализует трейт для смены заголовка. Передаём её в конструктор GameEngine. И... Лишаемся возможности управлять окном из SDLGameEngine. А нам это хочется, ведь часть операций над окном платформозависимая.
4. Дробим SDLGameEngine на две части. Одна основная, а другая управляет окном и реализует трейт для смены заголовка. Храним её внутри SDLGameEngine, передаём ссылку в метод render. В свободное от вызова этого метода время можем управлять окном сами.
Получается, что в Rust единственный способ связи родителя класса с потомком (в терминах ООП) это вариант 4. Или есть альтернативы? Мне не очень нравится, что GameEngine теперь может обратиться к SDLGameEngine исключительно в специальных методах, которые принимают специальные параметры, а SDLGameEngine пришлось распилить на две части. В данном примере всё очень примитивно, однако в более сложной программе, мне кажется, это может стать проблемой.
Бонусный вопрос: я правильно понимаю, что trait это фактически vtable отделённый от самого объекта и в Rust каждая структура может иметь множество vtable? Как это вообще реализовано на низком уровне?
Добрый день! Предлагаю вашему вниманию еще одну книгу — «Командная строка Linux. Полное руководство. 2-е межд. изд.» Ее можно заказать на сайте издательства, и если применить промокод LinuxORG, то получите скидку 30%. Действует на все книги издательства. Также в подарок при покупке бумажной будет ее электронная версия.
Отрывок из книги для ознакомления:
( читать дальше... )
Уильям Шоттс (William Shotts) — профессиональный разработчик программного обеспечения с более чем 30-летним стажем, который уже больше 20 лет активно пользуется операционной системой Linux. Имеет богатый опыт разработки программного обеспечения, технической поддержки, контроля качества и написания документации. Также является создателем LinuxCommand.org, образовательного и информационно-просветительского сайта, посвященного Linux, где публикуются новости, обзоры и оказывается поддержка пользующимся командной строкой Linux.
Желаю приятного чтения)
>>> Можно купить на сайте издательства (piter.com)
Посвящается Дню Радио!
Вот так я использую RTL-SDR для прослушивания радиоэфира. На скрине мы видим замечательную программу GQRX, реализующую программный радиоприемник.
Немного технических деталей. RTL-SDR - это устаревший TV-тюнер, который радиолюбители используют в качестве ЦАП с параметрами 8 бит/14.4 Мгц. Такой ЦАП при желании может захватить сразу все низкочастотные диапазоны - ДВ, СВ, и КВ! Остается только цифровым фильтром выделить из оцифрованного сигнала нужную радиостанцию, что и делают программы типа GQRX или SDRSharp.
Также в микросхему встроен тюнер, который преобразует высокие частоты в более низкие и позволяет слушать эфир аж до 2 ГГц. То есть это очень универсальный приемник.
Итак, что сейчас можно услышать в эфире? В XXI веке можно не только услышать, но и увидеть! SDR программы покажут нам «водопад» - визуализацию радиосигналов в выбранном диапазоне.
На основном скрине - любительский диапазон 40 метров. Каждая желтая полоска - это любительская станция. Щелкая по ней, выбираем станцию и приемник настраивается на нужную частоту. Как видно, диапазон сейчас забит - станции друг на друга местами налазят. Хотя сигналы не очень сильные - время суток не лучшее для прохождения тут.
Вещательный диапазон 31 метр, лес станций, в основном это радио Китая:
Вещательный диапазон 25 метров:
Любительский 40 метров, телеграфный и «цифровой» участки:
Тоненькие прерывистые линии - это станции, работающие морзянкой. Справа гремит FT8 - цифровая связь, которая никогда не затихает. А в середине - знаменитая танцпольная частота 7.055 Мгц, где днем и ночью идут с… поры на политические темы. Ну вы поняли.
Для того чтобы декодировать FT8 сигналы, я использую другую программу - WSJTX, вот как это выглядит:
Справа - декодированные позывные станций, которые связываются друг с другом. В этом виде связи можно только передать свой позывной и уровень сигнала «собеседника». Но связь дико пробивная, на минимальной мощности можно связаться на огромные расстояния.
И напоследок - как это звучит. Вы не забыли, что мы про радио, а его же слушать надо, а не смотреть )))
https://disk.yandex.by/d/AjqPqCA2LDe8UQ
«Скрепноватая» тема передачи вначале - это радио Китая, русская служба, во всей красе. В конце - любительский эфир, SSB модуляция, диапазон 40 метров.
Вот такое оно, радио 21 века! С Днем Радио всех! 73!
Хочется на кнопку «Make New Project» в студии нажать, а вручную создать каждый файлик и осмысленно написать каждую строку Манифеста, зато поняв что происходит. Да и в качестве IDE на 2021 год vim + LSP + нужный language server + консоль + велосипедные скрипты куда интереснее, чем тормозная монструозная хрень от JetBrains. Хочется рецептов, статей, как собирать, чем лить (adb), текстов про опыт.
UPDATE
Нашёл древнее: https://authmane512.medium.com/how-to-build-an-apk-from-command-line-without-ide-7260e1e22676. Переработал, осмыслил, проапдейтил схемы установки всего. Слегка потрахался с настройкой USB в мобиле, чтобы adb увидело девайс.
Получился такой мануал: http://0x0.st/-Ty0.txt Выполнил его, достиг успеха. Маленький фикс мануала: adb install надо не на hello.apk а на hello.unaligned.apk, который до Align ZIP шага, потому что Aligning ломает цифровую подпись как-то.
Но при установке на живую мобилу (samsung note 9) мобила сказала такое: http://0x0.st/-TyG.jpg ( https://imgur.com/a/VHTpdc8 ). Получилась такая иконка в установленных: http://0x0.st/-Ty5.jpg При старте заявило: http://0x0.st/-Tyh.jpg Но работать не отказалось. Выглядит как-то так: http://0x0.st/-TyC.jpg
Возможно у меня есть эмулятор, но я незнаю. Это всё на живом девайсе. Ось: свежая убунта 20.04 с дефолтным ядром. Интересно заслушать экспертов о ругани мобилы на старину платформы приложения. Возможно вместо «platforms;android-30» надо ставить что-то свежее как-то, но инстяллятор вроде свежее ничего не предлагал, хотя я может быть смотрел жопой. Главная позитивная новость в реальности процесса и в размере занимаемых ресурсов на уровне 100 КБ.
Moe — еще один клон текстового редактора vim, написанный на языке Nim.
( читать дальше... )
>>> Подробности (editor.moe)
Посоветуйте хорошую паяльную станцию для бытовых нудж. Светодиоды распаять, переключатели для клавиатуры на плате и т.д.
Паять особо не приходилось, но на днях одолжил самый обычный паяльник и, вроде, справился с первого раза припаять провода от блока к LED ленте.
Ввиду появляющегося интереса к схемотехнике, хочу сразу купить что-нибудь хорошее, но без перекосов в сторону чисто профессиональных инструментов.
Заодно можете накидать ссылки на полезные аксессуары типа зажимов, силиконовых ковриков и т.д.
Не отображаются иконки в polybar. А именно, шрифт awesome. Пакет, конечно же, установлен, в конфиге polybar'а
Font Awesome 5 Free:style=Regular:size=10;2fc-list | grep «Awesome» выдает:
/usr/share/fonts/fontawesome/fa-solid-900.ttf: Font Awesome 5 Free,Font Awesome 5 Free Solid:style=Solid
/usr/share/fonts/fontawesome/Font Awesome 5 Free-Solid-900.otf: Font Awesome 5 Free,Font Awesome 5 Free Solid:style=Solid
/usr/share/fonts/fontawesome/fa-regular-400.ttf: Font Awesome 5 Free,Font Awesome 5 Free Regular:style=Regular
/usr/share/fonts/fontawesome/fa-brands-400.ttf: Font Awesome 5 Brands,Font Awesome 5 Brands Regular:style=Regular
/usr/share/fonts/fontawesome/Font Awesome 5 Brands-Regular-400.otf: Font Awesome 5 Brands,Font Awesome 5 Brands Regular:style=Regular
/usr/share/fonts/fontawesome/Font Awesome 5 Free-Regular-400.otf: Font Awesome 5 Free,Font Awesome 5 Free Regular:style=Regularpolybar -l infoDropping unmatched characterСабж ?
Посмотрел после 10 летнего перерыва - некогда популярный fluxbox RIP, icewm - вроде как жив, но скорее RIP, openbox тоже RIP.
Неужели все так плохо ?
Изначально я планировал обсудить несколько вопросов по оформлению новостей с корректорами и модераторами в частном порядке, но потом решил: А почему бы не сделать тему с гайдлайном? Тут будем писать о том, как оформлять новости. (кроме того, что уже написано)
К обсуждению:
maxcom добавил в lorcode заголовки, хотя-бы одного уровня.
Обсуждение приветствуется.
Знакомство со свежими кедами после установки KDE neon на ноутбук затягивается уже дня на 3, на этот раз мне это окружение почти полностью понравилось.
Нахватал разного трендового для кастомизации, из неочевидного выпишу:
Остальной софт сфоткаю для следующего поста, когда донастрою.
P.S.: Кнопки управления окном в Breeze вышли удачно, мне они нравятся даже больше, чем «светофор» из макоси.
| ← назад | следующие → |