LINUX.ORG.RU

Избранные сообщения Jurik_Phys

Офлайновая документация, поиск по ней и навигация

Форум — Development

Привет, ЛОР!

В какой-то момент поймал себя на мысли, что постоянно лазать в сеть за доками к языкам и библиотекам – какое-то полное дно, поэтому скачал большую часть нужного себе на диск. Возник вопрос: а как всё это удобным образом каталогизировать, обновлять и искать по этому?

Доки в основном в HTML (всякие CPP Reference, доки по Qt, Haddock и т.д.), но форматы вразнобой.

В общем, надеюсь на твою мудрость в этом вопросе, ЛОР. Вдруг тут кто-то нашёл волшебное средство, о котором я не знаю.

 , ,

hateyoufeel
()

Jobchan-chrome-extension — браузерное расширение для обсуждения вакансий

Новости — Open Source
Группа Open Source

Для браузера Chrome разработано расширение, которое дает возможность комментировать и обсуждать вакансии на известных российских сайтах по поиску работы.

Расширение не требует создания аккаунта и входа на сайт с вакансиями. Оно не собирает никакой идентифицирующей информации. Все, что расширение знает о пользователях, — это URL просмотренной вакансии.

В настоящее время поддерживаются сайты:

  • career.habr.com
  • hh.ru
  • rabota.ru
  • zarplata.ru

>>> Репозиторий

 , , ,

ahdenchik
()

Как пустить только steam игру через прокси?

Форум — Games

Дано: прокси с данными авторизации, steam игра запускаемая через proton/wine. ОСь, и проги прочие, включая стим, через проксю мне пускать не хочется. Не могу понять как решить эту проблему. Отпишитесь кто как бы решал.

 , ,

pinjaz
()

Делаем из Vim IDE

Статьи — Разработка
Делаем из Vim IDE

В стародавние времена когда деревья были большими, трава зеленее, а мороженное стоило по 10 копеек, на Земле жили динозавры, и эти динозавры программировали в Vim.

( читать дальше... )

 , ,

rtxtxtrx
()

20-30 книг в год

Форум — Talks

прочитал на habrahabr.ru/post/118966/ что надо читать в 20-30 книг в год. Но как то я смутно представляю как можно прочитать и понять «Таненбаум компьютерные сети» менее чем за месяц. Что вы считайте по данному вопросу? И сколько реально прочитать в год книг типа: Таненбаум, Кауфман, Шнайдер и т.д [offtop]посоветуйте книгу по тех английскому чтобы читать в оригинале[/offtop]

moriz
()

Есть кто завел zapret на уровне роутера?

Форум — Admin

Отпишитесь.

Я, вроде, завел, но весь трафик уходящий в него пропадает, а я не так хочу.

Нужен для просмотра ТыЛевизора на уровне всей домашней сети (телевизоры, телефоны), а не только с компов.

 ,

pihter
()

Где взять заграничный VPS с оплатой российскими картами?

Форум — Talks

Собственно сабж. VPS нужен за пределами России. Хочу поднять себе VPN.

Например вижу предложение от RU VDS в Казахстане. Но не знаю что там с местной цензурой. А то из огня да в полымя.

Вопрос в догонку: какой протокол VPN выбрать и какое железо нужно, чтобы 50 мбит/с тянуло?

Перемещено hobbit из general

 ,

ox55ff
()

YT-DLP, очевидное-невероятное

Статьи — Desktop

В последнее время ютуб затеял какую-то реорганизацию и стал убирать из некоторых своих видео формат 22 (720p, единый файл, не dash). Может я наговариваю, конечно, на ютуб, но формат best (720p) всегда был, имхо.


Оказывается есть возможность получать другую таблицу форматов, отличную от дефолтной. У yt-dlp есть параметр --extractor-arg "youtube:player_client=mediaconnect" ([youtube] Format 22 is only sometimes extracted for some videos #10206).
Дефолтная таблица форматов:

$ yt-dlp -F 'https://youtu.be/eUyr9MJnj4w' 
Extracting cookies from firefox
Extracted 1328 cookies from firefox
[youtube] Extracting URL: https://youtu.be/eUyr9MJnj4w
[youtube] eUyr9MJnj4w: Downloading webpage
[youtube] eUyr9MJnj4w: Downloading ios player API JSON
[youtube] eUyr9MJnj4w: Downloading player 5b22937f
[youtube] eUyr9MJnj4w: Downloading m3u8 information
[info] Available formats for eUyr9MJnj4w:
ID  EXT   RESOLUTION FPS CH │   FILESIZE   TBR PROTO │ VCODEC          VBR ACODEC      ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        0    │                  mhtml │ images                                  storyboard
sb2 mhtml 80x45        1    │                  mhtml │ images                                  storyboard
sb1 mhtml 160x90       1    │                  mhtml │ images                                  storyboard
sb0 mhtml 320x180      1    │                  mhtml │ images                                  storyboard
233 mp4   audio only        │                  m3u8  │ audio only          unknown             Default
234 mp4   audio only        │                  m3u8  │ audio only          unknown             Default
139 m4a   audio only      2 │    1.32MiB   49k https │ audio only          mp4a.40.5   49k 22k low, m4a_dash
249 webm  audio only      2 │    1.30MiB   48k https │ audio only          opus        48k 48k low, webm_dash
250 webm  audio only      2 │    1.70MiB   63k https │ audio only          opus        63k 48k low, webm_dash
140 m4a   audio only      2 │    3.51MiB  129k https │ audio only          mp4a.40.2  129k 44k medium, m4a_dash
251 webm  audio only      2 │    3.51MiB  130k https │ audio only          opus       130k 48k medium, webm_dash
602 mp4   256x144     15    │ ~  2.33MiB   86k m3u8  │ vp09.00.10.08   86k video only
394 mp4   256x144     30    │    1.68MiB   62k https │ av01.0.00M.08   62k video only          144p, mp4_dash
269 mp4   256x144     30    │ ~  4.16MiB  154k m3u8  │ avc1.4D400C    154k video only
160 mp4   256x144     30    │    1.55MiB   57k https │ avc1.4D400C     57k video only          144p, mp4_dash
603 mp4   256x144     30    │ ~  4.18MiB  154k m3u8  │ vp09.00.11.08  154k video only
278 webm  256x144     30    │    2.35MiB   87k https │ vp9             87k video only          144p, webm_dash
395 mp4   426x240     30    │    2.70MiB  100k https │ av01.0.00M.08  100k video only          240p, mp4_dash
229 mp4   426x240     30    │ ~  5.70MiB  211k m3u8  │ avc1.4D4015    211k video only
133 mp4   426x240     30    │    2.35MiB   87k https │ avc1.4D4015     87k video only          240p, mp4_dash
604 mp4   426x240     30    │ ~  7.76MiB  287k m3u8  │ vp09.00.20.08  287k video only
242 webm  426x240     30    │    3.59MiB  133k https │ vp9            133k video only          240p, webm_dash
396 mp4   640x360     30    │    5.02MiB  186k https │ av01.0.01M.08  186k video only          360p, mp4_dash
230 mp4   640x360     30    │ ~ 11.41MiB  421k m3u8  │ avc1.4D401E    421k video only
134 mp4   640x360     30    │    4.13MiB  153k https │ avc1.4D401E    153k video only          360p, mp4_dash
18  mp4   640x360     30  2 │ ≈  7.64MiB  282k https │ avc1.42001E         mp4a.40.2       44k 360p
605 mp4   640x360     30    │ ~ 15.03MiB  555k m3u8  │ vp09.00.21.08  555k video only
243 webm  640x360     30    │    6.06MiB  224k https │ vp9            224k video only          360p, webm_dash
397 mp4   854x480     30    │    8.40MiB  310k https │ av01.0.04M.08  310k video only          480p, mp4_dash
231 mp4   854x480     30    │ ~ 15.17MiB  561k m3u8  │ avc1.4D401F    561k video only
135 mp4   854x480     30    │    6.09MiB  225k https │ avc1.4D401F    225k video only          480p, mp4_dash
606 mp4   854x480     30    │ ~ 20.80MiB  769k m3u8  │ vp09.00.30.08  769k video only
244 webm  854x480     30    │    8.50MiB  314k https │ vp9            314k video only          480p, webm_dash
398 mp4   1280x720    30    │   14.51MiB  536k https │ av01.0.05M.08  536k video only          720p, mp4_dash
232 mp4   1280x720    30    │ ~ 24.57MiB  908k m3u8  │ avc1.4D401F    908k video only
136 mp4   1280x720    30    │   11.09MiB  410k https │ avc1.4D401F    410k video only          720p, mp4_dash
609 mp4   1280x720    30    │ ~ 31.59MiB 1167k m3u8  │ vp09.00.31.08 1167k video only
247 webm  1280x720    30    │   13.61MiB  503k https │ vp9            503k video only          720p, webm_dash
399 mp4   1920x1080   30    │   24.33MiB  899k https │ av01.0.08M.08  899k video only          1080p, mp4_dash
270 mp4   1920x1080   30    │ ~ 73.64MiB 2721k m3u8  │ avc1.640028   2721k video only
137 mp4   1920x1080   30    │   39.45MiB 1458k https │ avc1.640028   1458k video only          1080p, mp4_dash
614 mp4   1920x1080   30    │ ~ 53.22MiB 1967k m3u8  │ vp09.00.40.08 1967k video only
248 webm  1920x1080   30    │   26.78MiB  990k https │ vp9            990k video only          1080p, webm_dash
616 mp4   1920x1080   30    │ ~131.47MiB 4858k m3u8  │ vp09.00.40.08 4858k video only          Premium
400 mp4   2048x1152   30    │   60.94MiB 2252k https │ av01.0.08M.08 2252k video only          1080p, mp4_dash
620 mp4   2048x1152   30    │ ~151.23MiB 5589k m3u8  │ vp09.00.50.08 5589k video only
271 webm  2048x1152   30    │   82.90MiB 3063k https │ vp9           3063k video only          1080p, webm_dash

Новая таблица форматов с единым файлом/потоком для 720p (и 1080p):

$ yt-dlp -F 'https://youtu.be/eUyr9MJnj4w' --extractor-arg "youtube:player_client=mediaconnect"
Extracting cookies from firefox
Extracted 1329 cookies from firefox
[youtube] Extracting URL: https://youtu.be/eUyr9MJnj4w
[youtube] eUyr9MJnj4w: Downloading webpage
[youtube] eUyr9MJnj4w: Downloading mediaconnect player API JSON
[youtube] eUyr9MJnj4w: Downloading m3u8 information
[info] Available formats for eUyr9MJnj4w:
ID  EXT   RESOLUTION FPS CH │  FILESIZE   TBR PROTO │ VCODEC        VBR ACODEC      ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        0    │                 mhtml │ images                                storyboard
sb2 mhtml 80x45        1    │                 mhtml │ images                                storyboard
sb1 mhtml 160x90       1    │                 mhtml │ images                                storyboard
sb0 mhtml 320x180      1    │                 mhtml │ images                                storyboard
140 m4a   audio only      2 │   3.51MiB  129k https │ audio only        mp4a.40.2  129k 44k medium, m4a_dash
160 mp4   256x144     30    │   1.55MiB   57k https │ avc1.4d400c   57k video only          144p, mp4_dash
91  mp4   256x144     30    │ ~ 4.16MiB  154k m3u8  │ avc1.4d400c       mp4a.40.5
133 mp4   426x240     30    │   2.35MiB   87k https │ avc1.4d4015   87k video only          240p, mp4_dash
92  mp4   426x240     30    │ ~ 5.70MiB  211k m3u8  │ avc1.4d4015       mp4a.40.5
134 mp4   640x360     30    │   4.13MiB  153k https │ avc1.4d401e  153k video only          360p, mp4_dash
93  mp4   640x360     30    │ ~11.41MiB  421k m3u8  │ avc1.4d401e       mp4a.40.2
18  mp4   640x360     30  2 │ ≈ 7.64MiB  282k https │ avc1.42001E       mp4a.40.2       44k 360p
135 mp4   854x480     30    │   6.09MiB  225k https │ avc1.4d401f  225k video only          480p, mp4_dash
94  mp4   854x480     30    │ ~15.17MiB  561k m3u8  │ avc1.4d401f       mp4a.40.2
136 mp4   1280x720    30    │  11.09MiB  410k https │ avc1.4d401f  410k video only          720p, mp4_dash
95  mp4   1280x720    30    │ ~24.57MiB  908k m3u8  │ avc1.4d401f       mp4a.40.2
137 mp4   1920x1080   30    │  39.45MiB 1458k https │ avc1.640028 1458k video only          1080p, mp4_dash
96  mp4   1920x1080   30    │ ~73.64MiB 2721k m3u8  │ avc1.640028       mp4a.40.2

Как скачивать 720p (формат единым файлом/потоком):

$ yt-dlp -f 95 'https://youtu.be/eUyr9MJnj4w' --extractor-arg "youtube:player_client=mediaconnect" 

Как воспроизводить 720p (формат единым файлом/потоком):

$ mpv --ytdl-format=95 'https://youtu.be/eUyr9MJnj4w' --ytdl-raw-options=extractor-arg="youtube:player_client=mediaconnect" 


Кроме того:

  • Для mpv можно создать профиль [youtube] в mpv.conf, где прописать условие срабатывания на ютубных ссылках, типа profile-cond=path:match('youtu%.?be') ~= nil или profile-cond=path:find('youtu%.?be') (1).
    И добавив в профиль параметр ytdl-raw-options=extractor-arg="youtube:player_client=mediaconnect" и ytdl-format=95/best.
  • Для yt-dlp, чтобы при наборе команды в терминале мучительно долго не вспоминать указанную в начале заметки длиннющую опцию, можно создать алиас. В конфиге yt-dlp прописываем, как пример, --alias 95f '-f 95 --extractor-arg="youtube:player_client=mediaconnect"'. Теперь, чтобы скачать, пишем yt-dlp --95f 'https://youtu.be/eUyr9MJnj4w'.


Для чего все это надо?

  • минус издержки на склеивание dash-потоков видео и аудио средствами ffmpeg;
  • возможность отправлять ссылку на стандартный вывод (stdout) какого-либо плеера, например vlc;
  • плюс, оказывается, и для 1080p существует подобный формат единого файла.
  • лучшая отзывчивость при перемотке во внешнем плеере (возможно верно для всех hls и не зависит от таблицы форматов)

 ,

krasnh
()

Что почитать по машинному обучению?

Форум — Talks

Достался в наследство код с логистической регрессией. Хочется не просто применять, но и понимать что происходит чтобы иметь возможность что-то изменить, т.к. на сколько мне известно, не факт, что один подход будет успешно работать во всех случаях в контексте машинного обучения.

В связи с этим вопрос: что почитать? Литературы по машинному обучению огромное количество, но с чего начать…

 

andalevor
()

Как правильно искать работу

Форум — Job

Disclaimer. Написанный ниже текст является мнением автора, основанным на многих проведенных интервью и на общении с сотрудниками HR. Не является догмой, но, тем не менее, его можно принимать во внимание.

Итак, вам нужна работа в сфере IT на админской/постсейловой/пресейловой/консалтерской должности. Я провел пару сотен собеседований, нанял около 30 (или 40?) человек, ошибался 2 или 3 раза, со всеми нанятыми работал больше года, а с некоторыми больше 5 лет, так что могу рассказать о том, как оно изнутри. Про программистов ничего не скажу, подозреваю, что плюс-минус все то же самое.

0. Зачем люди нанимают сотрудников и как они это делают?

На работу людей нанимают для того, чтобы они работали :-) Буквально, есть задача, есть бюджет, есть коллектив и есть вакансия - должен быть нанят человек, желательно до определенного числа, иначе, вакансию могут отобрать в пользу более расторопных. В ДС последние 10 лет острый дефицит вменяемых кадров, при чем чем дальше, тем хуже становится положение.

Кто нанимает? 3 человека: HR, непосредственный руководитель и его начальник. Первый должен отфильтровать ваше резюме из потока, второй должен выбрать вас из толпы (руководствуясь собственными предпочтениями в том числе, вам потом с ним близко общаться, а ему с вами), третьего вы должны не оттолкнуть чем-нибудь, его задача отфильтровать явные ошибки второго, но не более. Конечно, если это здоровый коллектив, где HR не заправляет техпроцессами и где топменеджер не лезет во все дела подчиненных, а доверяет им работать самим.

1. Резюме.

Напишите хорошее резюме, желательно на 2х языках. Что значит хорошее: в нем должны отражаться основные ваши достижения, их не должно быть мало, но и не должно быть много. Например, хорошо написать про общественную работу в ВУЗе, поднятие нужного бизнесу софта или синхронизацию географически удаленных БД, а про то как обжимались кабели можно не писать, так как это вызывает ощущение «больше нечем хвастаться». Нужно написать обо всех своих обучениях и сертификациях. Примеров в сети много, неплохо также завести аккаунт в Linkedin (там как раз нужная структура). Помните, что HR скорее всего не сечет в теме и ищет по ключевым словам. 95% всех резюме, которые я видел были 2х типов: «отлично знаю» == «при мне включали» и «имею представление» == «ну что я могу сказать о вопросе, которому посвятил всего 2 года напряженного труда?» Не впадайте в эти крайности.

Мои личные загоны: - большинство фотографий в резюме мне кажутся страшными, слишком пафосными или слишком низкого качества. Особенно я не понимаю людей, постящих нечто мутное со старой вебкамеры. Может быть, лучше не постить туда фотографии совсем. - «Наталья Нестерова» хуже отсутствия высшего образования. - девушки всегда склонны недооценивать себя. - чем старше соискатель, тем больше он себя недооценивает.

На счет соц.сетей. Конечно же, первым делом из отобранных резюме извлекается имя, фамилия, дата рождения и город, а по ним ищется вконтактик, фейсбучек, жжшечка. Отсутствие аккаунта ничего не говорит. Наличие же может выйти боком: предпочтения у всех свои, я, например, буду предвзято относиться с стритсракеру со смотрЫ, кому-то могут не понравится фотографии на фоне кустов и пустых бутылок. Однозначный плюс - статьи в ЖЖ «как я компилял ядро» или «как я перепаивал этот китайский роутер». Однозначный минус - дешевые понты вроде «VIP-статус ВКОНТАКТЕ», дакфейсов или фоток на фоне ржавой крысы с видом как будто это новая семерка.

2. Первое интервью.

Говорят, что человека встречают по одежке. Говорят, что первое впечатление так и останется 80% мнения на ближайшие 5 встреч. Я не знаю на сколько это правда, но мне всегда приятно было видеть нейтрально одетых людей в чистой одежде (да, были случаи, когда соискатель совершенно буквально и объективно вонял) с чистыми волосами (и ногтями). Я разделяю любовь к джинсам, берцам, кожанкам и камуфляжу, но считаю, что в первый раз показаться лучше в классическом костюме нейтрального цвета. Потом похвастаете своим офигенным мотоэкипом и прекрасно подогнанным снаряжением, в первый раз ваша задача - не оттолкнуть. Нет костюма - постирайте джинсы и свитер, поверьте просто на слово, что это важно и это влияет.

Отдельное замечание обладательницам красивых форм: не надо их лишне подчеркивать на первом свидании. Иначе, потом будут говорить, что наняли вас за декольте или начальник подумает «вот будут говорить - нанял за декольте!». Не надо это, ни вам, ни начальнику. Потом все покажете.

Ведите себя спокойно, не нервничайте. Помните, что вы тут не первый. Помните, что у вас эта контора не последняя. Помните, что вообще-то вы им нужны больше, чем они вам, даже если это Гугл, а вы - вчерашний выпускник. Но и в другую крайность впадать тоже не надо, не фамильярничайте.

Посмотрите на людей в коридорах. Задайте себе вопрос, хотите ли вы быть похожими на них.

HR говорит про общие вопросы, проверяет формально, отсеивает в основном неадекватов и странных людей. Если его функция простирается дальше, то скорее всего в этой конторе не нужно работать. HR должен рассказать вам про условия труда и соцпакет, обязательно задаст вопрос «чего вы хотите в будущем», на который не надо отвечать «стать тут главным боссом». В будущем вы хотите развиться в техническом плане, познакомиться с интересными людьми и решить сложные и интересные задачи. Важно: например, в Microsoft вам расскажут про многие пряники и плюшки для сотрудников, но только после официального предложения вы узнаете, что «сотрудником» станете дай Бог через год, только если не на косячите и только если вырастут акции, а так - внештатник без пряников.

Интервью с непосредственным руководителем. Это самый важный человек в процессе, он подбирает себе не просто специалиста, а человека, который его лично устраивает. Как правило, люди нанимают похожих на себя. Тут хороший мотоэкип или камуфляж могут отыграть хорошо, а могут навредить. Лично я - не советую, хотя сам отношусь нейтрально.

Некоторые работодатели любят устраивать форменный экзамен просто так, даже если видят, что человек не тянет, некоторые любят задавать задачи на сообразительность типа взвешивания монет и измерения высоты здания барометром. Некоторые любят вопросы типа «вы ввели linux.org.ru в строке адреса браузера и нажали „ввод“, расскажите, что произойдет после этого, постарайтесь успеть до 8 вечера». Некоторые дают тест на бумаге, некоторые просто обсуждают жизнь. Есть конторы, где принято нанимать точно соответствующего человека, есть конторы, где принято учить и воспитывать, требуя только базовые или непрофильные вещи (например: технологиям обучим с любого уровня, а вот английскому - нет).

Если предполагается интервью с топом, то тут главное - просто произвести нормальное впечатление.

3. Скиллы.

Если вы идете наниматься на техническую должность, пожалуйста, освежите в памяти модель OSI, основные топологические схемы сетей, как работает TCP/IP в крупную клетку, что такое DNS, DHCP, CIFS, FTP, HTTP, SMTP, BGP, SSL. Я раньше спрашивал про несимметричное шифрование, сейчас же очень многие не могут внятно ответить «что такое IP-адрес», имея за плечами опыт работы сисадмином, не говоря уже о просьбе отправить письмо по SMTP используя только telnet. Это не приемлемо, объем базовых курсов по сетям и любой операционной системе надо знать.

 

Shaman007
()

Наставьте восьмиклассника на путь программиста под Linux

Форум — Development

Учусь в 8 классе на домашнем обучении. Не так давно начали изучать информатику. Я хорошо осознал, что мне нравится информатика и очень привлекает программирование. Предметная область, в которой я себя вижу: вычислительные сети, сетевая и серверная инфраструктура, высоконагруженное серверное ПО. Скорее всего, я не буду уходить после 9 класса из школы, а продолжу учиться до конца 11 класса. Планирую поступать в ВУЗ на бюджет, поэтому сейчас я не знаю, на какую именно специальность и в какой ВУЗ я пройду.

В любом случае я набросал себе приблизительный план, по которому собираюсь учиться программированию в ближайшие несколько лет, которого я постараюсь придерживаться. Подборать теоретический материал мне оказалось не так уж и сложно (составлял список сам, основываясь на описании книг и отзывах в интернете), а поиск подходящих практических задач для выбранного теоретического материала вызвал сложности.

Подскажите, пожалуйста, что стоит изменить в моём плане с учётом моей предметной области? Хотелось бы, конечно, в первую очередь скорректировать практическую часть. Далее идёт набросок моего плана.

Информатика (больше теория):

  • системы счисления, единицы измерения инф., сигналы, частоты, дискретность и непрерывность;
  • архитектура ПК, работа процессора и оперативной памяти;
  • вычислительные сети и сетевая архитектура, понятие сетевых протоколов;
  • алгебра логики и логические операции;
  • алгоритмика и типы данных.

Информатика (больше практика):

  • построение диаграмм и блок-схем в графическом редакторе yEd, решение задач с алгоритмами;
  • работа в среде программирования КуМир;
  • работа в среде программирования Free Pascal;
  • языки разметки HTML и TeX: создание статичного персонального сайта на HTML, вёрстка документов в системе LaTeX в программе TeXstudio;
  • регулярные выражения и работа с текстом на естественном языке;
  • базы данных и системы управления базами данных (СУБД), работа с СУБД SQLite в программе SQLiteStudio.

Введение в программирование:

  • трёхтомный учебник «Программирование: введение в профессию» (А. В. Столяров);
  • учебник «Free Pascal и Lazarus. Учебник по программированию» (Е. Р. Алексеев, О. В. Чеснокова, Т. В. Кучер);
  • написание простых программ на Object Pascal (типа калькулятора, файлового менеджера, возможно, простейшего софта для защиты от DoS-атак на базе iptables и ipset);
  • учебник «Теория систем и системный анализ» (В. Н. Волкова, А. А. Денисов).

Математика:

  • школьная программа алгебры 7-11 кл.;
  • «Основы математического анализа (Г. М. Фихтенгольц)» + задачник Б. П. Демидовича;
  • «Дискретная математика. Учебное пособие» (В. Е. Алексеев).

Алгоритмы и структуры данных:

  • «Алгоритмы. Вводный курс» (Т. Кормен);
  • «Алгоритмы, введение в разработку и анализ» (А. В. Левитин).

Основы программирования в выбранной предметной области:

  • «Язык программирования C. Лекции и упражнения» (С. Прата);
  • «TCP/IP Illustrated: The Protocols» (У. Стивенс);
  • «Understanding Linux Network Internals» (O'Reilly);
  • «Unix Network Programming: The Sockets Networking Api» (У. Стивенс);
  • официальное руководство Cisco по подготовке к сертификационным экзаменам CCENT/CCNA.

Также я составил список привычек, которые мне стоит сформировать:

«1. Приучайся описывать математически всё, что видишь вокруг себя: чашку кофе на завтрак, тарелку супа на обед, облака в небе и т. д.

2. Изучай вширь всё, до чего дотягиваешься. Не понял, что написано — разбирайся, пока не поймешь. Уметь программировать — это пол дела. Надо понимать, как запускать твой код, где он будет работать и как будет взаимодействовать с другими системами".

3. Пиши код! Каждый день пиши! Не так важно что: вытаскивай данные с какого-нибудь API, пиши консольные утилиты. Собирай какие-нибудь данные и клади их в БД. Не важно, насколько это все будет наивным, практический опыт от задумки до реализации надо проходить 10-20-100 раз, пока не научишься видеть решения".

4. Читай чужой код, смотри, как он устроен, чем лучше твоего, анализируй. И читай книжки по хорошим практикам программирования (начиная с пресловутого Боба Мартина).

5. Не игнорируй инфраструктуру. Эти вот модные докеры, которые мамонты на ЛОРе не любят, они неспроста. Написал программу — подумай какими способами ее можно безболезненно развернуть на другой машине» ( paddlewan).

Благодарю hobbit и paddlewan за ваши полезные комментарии на этом сайте, которые помогли мне в процессе составления плана. Также хочу поблагодарить всех, кто помогает советами, включая анонимов.

 , ,

cybbit
()

Линуксоед выходит в свет. Что посмотреть в МСК?

Форум — Talks

Народ, привет! Линуксоед выбирается в свет.

Поздравьте меня, я был в Москве! По семейным обстоятельствам нужно было ехать в Смоленск. Ехал через Москву.
Туда на поезде плацкарт. Уже в поезде узнал, что нужно было брать с собой тапки и пижаму, так как с 19 до 6 устра ехал. Оттуда на электричке «Ласточка» до Смоленска.

Боясь высоких цен в других городах, отелях и ресторанах, я всю хавку взял с собой: дошики, засиськи в тесте, слойка с абрикосом, гребешок с яблочной начинкой из Пятёрки, газвода простая литрушка и всё сладкое что было в холодильнике: 3 сникерса, 2 nuts и баунти.
Переночевал 1 ночь в гостиннице в Смоленке. Вообщем за 3 дня(путь с житиём) я съел на 800р.

Ну и где вся ваша суета московская? в 6:40 - так же как и у нас, нет людей. Никакой спешки, лениво, сонно люди спокойно идут на работу, до Метро, в Метро всё спокойно, народу нет. У одного азиата сросил как мне до Белорусского вокзала добраться, на что он мне сказал, что «Вам надо на второй этаж...», потом, прочитав надпись, что Белорусский - это здесь, сказал, что вам сюда. После этого я понял, что у этого бедолаги с русским не очень, может он другую ветку имел ввиду, а не второй этаж?
Приехал с Оскола за 11 часов на Павелецкий вокзал, нужно было перебраться на Белорусский. 2Gis и gps сразу сбили меня с толку, так как я не понял с какой стороны я вышел, сверху или сбоку и пошёл не туда, благо язык наставил меня на правильный путь.
В метро были только 2 спешащие бабы, они шли по эскалатору вниз. Я по-приколу хожу по эскалаторам в ТЦ, а тут, походу это необходимость. Пересел на Ласточку и через 4 часа был в Смоленске. Из электрички я увидел Москва-Сити! Это ппц, шо в Америку попал. Так вот, народ, чухонец первый раз выбрался из берлоги и теперь в любой момент могу сам собраться на экскурсию. Можете накидать мне куда сходить и что посмотреть? Буду 1-2 дня. И где гостинницы дешёвые, чтобы рядом с Метро було?

Дома и на работе по-прежнему GNU / Linex Mint.

 , , , ,

xwicked
()

Обучающие курсы по нейросетям от физтех-школы при МФТИ

Форум — Talks

Слегка порекламирую, потому что сам только что прошёл 1-ю часть (компьютерное зрение) и остался весьма доволен. Бесплатные! Там правда есть Premium часть за деньги, но поверьте (я заплатил), это не уловка, основное всё-таки действительно бесплатное и Premium совсем не обязателен, это скорее способ поддержать создателей.

https://dls.samcs.ru/regform

На 1-ю часть (CV) весеннего семестра регистрация до 10 февраля. Курсы абсолютно онлайн и записываются на них все и отовсюду из любой страны. Совсем из любой, лишь бы русский язык знали, так как они на русском языке.

Школа глубокого обучения — это образовательный проект Физтех-школы прикладной математики и информатики МФТИ. Мы учим работе с нейросетями с самых основ до продвинутого уровня. Занятия ведут выпускники ФПМИ МФТИ, имеющие опыт разработки и исследований в области AI.

В принципе лекций на ютубе и вообще материалов по нейросетям в интернете можно найти очень много, однако, фишка этих курсов в домашних заданиях, за которые ставятся оценки и есть дедлайн, в которых они последовательно от простого к сложному вводят в понимание работы нейросетей и создание и обучение своих. Кроме того, материалов, в которых бы настолько подробно объяснялось как устроены сети, что после этих объяснений можно пробовать самому их конструировать уже не так много.

На мой взгляд, курсы в несколько усечённом виде фактически являются институтскими по подходу и наполнению. Начинаются с основ машинного обучения, математики этого дела, градиенты, бустинги и тп. Плавно подводятся к нейросетям сначала простым с полносвязным слоем, затем посложнее и посложнее и заканчиваются детекцией объектов, автоэнкодерами и генеративными сетями.

Насчёт вообще нужности обучения нейросетям. Мне кажется, что нужно и многим. Нейросети - это наверное самое значительное, что вообще произошло и продолжает происходить в мире программирования, ИТ за последние лет 10.

Я знаю, что они и раньше существовали, более того, искусственные нейроны были придуманы как бы не раньше, чем компьютеры, ещё в 1943-44 годах, были попытки их делать на специальных лампах, перцептроны и т.д. Но до совсем недавнего времени нейросети всё же оставались скорее игрушкой для исследователей с периодическими всплесками интереса, когда казалось их можно пристроить к чему-то практически полезному и быстрым охлаждением. Сейчас всё сильно иначе.

P.S. На самом деле конечно понимание все же самое базовое, чтобы всерьёз в этой области что-то делать, требуется много работы, самостоятельного изучения и выполненных проектов. Но курсы, мне кажется, реально дают базу для начального понимания этих вещей, откуда можно дальше идти.

 , ,

anonymous_incognito
()

Проблема live миграции виртуальной машины в KVM

Форум — Admin

пытаюсь мигрировать виртуальную машину и на 99% вываливается ошибка: Migration: [ 99 %]error: внутренняя ошибка: QEMU неожиданно завершил работу монитора: 2023-12-15T23:50:33.462543Z qemu-system-x86_64: Size mismatch: 0000:00:02.0:00.0/e1000e.rom: 0x80000 != 0x40000: Invalid argument 2023-12-15T23:50:33.462630Z qemu-system-x86_64: error while loading state for instance 0x0 of device ‘ram’ 2023-12-15T23:50:33.463580Z qemu-system-x86_64: load of migration failed: Invalid argument пробовал несколько раз - одно и то же… пробовал пересоздавать виртуалку… гугление результатов не дало… с гипервизоров на debian виртуалки туда сюда хорошо летают, а вот понадобилось с mint виртуалку мигрировать на debian и ни в какую, виртуалка весит много, поэтому нет возможности перенести оффлайн, т.к. время простоя будет большое

 , ,

holenet
()

Книги по Си, системному программированию и Computer Science

Форум — Development

Сабж. Большинство курсов и гайдов по Си учат писать хелло ворлды через printf. А хочется жести с системными вызовами.

Пробовал трехтомник Столярова. Некоторые моменты хорошо объяснены, но есть много воды и шизы автора вроде «ВЫ ОБЯЗАНЫ НАЗЫВАТЬ ДИРЕКТОРИИ ДИРЕКТОРИЯМИ, НЕ ПАПКАМИ, Я ЛИНУКСОИД!!!».

Еще у Столлмана недавняя книга норм, но она как мануал и достаточно сухая.

Поделитесь источниками знаний!

 , ,

avg_linux_enjoyer
()

Ищу наружную IP камеру под OpenIPC

Форум — Talks

Есть ли какие-нибудь недорогие (до 80 usd) IP камеры с поддержкой OpenIPC, подходящие для использования в средней полосе РФ? С питанием через PoE.

На сайте OpenIPC указаны только название SoC'ов, а меня интересует конкретная модель/ревизия.

Поддержка OpenIPC нужна чтобы получать поток по RTSP без лишней ерунды и чтобы большой китайский брат маленький нефритовый стержень за мной не следил.

 , , ,

Meyer
()

STM32 с нуля (жж)

Форум — Talks

Я тут в очередной раз пытаюсь освоить программирование микроконтролеров. Захотелось написать такой полу-ЖЖ, полу-туториал (как говорится - хочешь разобраться в чём-то, объясни это другим). Может кто почерпнёт или подскажет чего полезного.

Если интерес будет, буду продолжать.

Итак осваиваем STM32 не как нормальные люди.

Примерный план:

  1. Подключить его к компьютеру и убедиться, что там что-то происходит. Использовать будем st-util и gdb.

  2. Написать простейшую программу на ассемблере, которая в цикле прибавляет регистр, скомпилировать из неё прошивку, залить на плату и пронаблюдать её работу. Использовать будем binutils и st-flash.

  3. Поморгать диодом (на ассемблере же).

  4. Переписать осмысленный код на С (дальше всё на С).

  5. Переписать моргание с использованием таймера, чтобы внести свой вклад в борьбу с глобальным потеплением.

  6. Сказать внешнему миру «Hello world» через UART.

  7. Переписать «Hello world» с помощью CMSIS, уже с пониманием того, что там происходит.

На этом этапе начальное освоение микроконтроллеров можно считать завершённым. Дальше, видимо, сотни страниц датащитов по записи нужных битов в нужные места, или использование готовых библиотек. В любом случае навыки из списка выше полезны при использовании любых библиотек, т.к. всё растёт из этой базы.

Сразу скажу, что в процессе будет использовано достаточно много инструментов вроде make, ld, gdb, as, gcc и тд, по каждому из них можно книги писать (и пишут). Поэтому, конечно, углубляться в них я не буду, а напротив буду использовать в максимально примитивном виде.

Ниже ссылки на мануалы, где можно подробней раскрыть тему. Ожидается, что читатель будет активно ими пользоваться.

 , ,

vbr
()

TOTP 2FA приложения: для GitHub и не только

Форум — Mobile

В связи с тем, что GitHub ещё раз более настойчиво начал напоминать о необходимости включить 2FA, стало интересно: какими приложениями для этих пользуются пользователи ЛОР?

Какими ещё пользовались и что в них нравилось или не нравилось?

 2fa, , ,

grem
()

Посоветуйте ютубов, например

Форум — Talks

Ищу годный научпоп или около того.

Прошу не рекомендовать разного рода A4, HiDEV, Гаеров и прочих имбецилов.

Со своей стороны могу вбросить:

- TheEfficientEngineer - механика, занятное о простых вещах
- Robert Miles AI Safety - о проблемах контроля ИИ простыми словами
- Mark Solonin - история и технические проблемы в космосе и военке. Политоту советую скипать, она скучная.

 , ,

bo4ok
()

locate + updatedb. Что за зверь и зачем нужен.

Форум — General

Предыстория такая: просыпаюсь я как то в 6 утра на следующий день, после установки пары крупных пакетов в систему, и вижу что комп что то активно делает, хотя не должен. htop, читаю... А там updatedb, запущеный через хрон, пачками вызывает find и sort, и у каждого в качестве аргументов длиннющая строка с тоннами кавычек, экранирующих символов и кодов юникода. И полная неясность, что это и зачем. Неужели какая то вирусня оказалась прописана в хрон?

Чтение конфигов, скриптов и доков показало, что такая ежедневная задача действительно есть, похоже она действительно в составе дистрибутива и скрипт действительно написан таким странным образом. Вроде как есть команда locate (вообще не знал о такой), которая ищет файлы в системе по заготовленному индексу, а индексация по хрону раз в сутки.

Мне это не нужно, я предпочёл бы отключить индексацию и удалить индекс, у меня место на корне и ресурс microSD карты ограничены. Но вдруг это какой то ключевой компонент системных скриптов? Вдруг после отключения и/или удаления индекса у меня полезут косяки в системе когда я уже забуду об этой штуке? Кто нибудь знает что то об этом?

 , , , updatedb

kirill_rrr
()