Category: it

Category was added automatically. Read all entries about "it".

юмор

Нашли работников

После полутора месяцев поисков таки нашли, походу, работников.

Младших, правда, сисадминов, не старших. Нормальные ребята, и что самое главное — не выпендриваются.

Вот не люблю я когда люди выпендриваются, начинают козырять типа знаниями, а начнёшь спрашивать детали, так человек сразу начинает плавать. Когда я человека спрашиваю что-то, а он не знает ответ, я ненавижу, когда люди что-то начинают придумывать. Простое “я не знаю”, а ещё лучше “я не знаю, но предполагаю что вот так, и знаю, где искать ответ” — это гораздо лучше.

После нескольких интервью вот примерный список несложных вопросов, который я задаю соискателям на позицию старших системных администраторов:

Использовали ли вы Active Directory? Какие инструменты вы использовали для управлением этой службой?
Что такое групповые политики? Для чего вы их использовали?
Если групповые политики наследуются с более верхнего OU, какая групповая политика имеет наивысший приоритет?
Какой инструмент лучше всего использовать для разрешения конфликтов между групповыми политиками?
В чём разница между файловыми системами NTFS и FAT32/exFAT?
В чём разница между разрешениями modify и full control?
Как наиболее оптимально раздавать разрешения пользователям на сетевые ресурсы?
В чём разница между группами Domain Admins и Enterprise Admins?
Что такое доверие между доменами? Кто может его создать?
Как хорошо вы знакомы с сетями TCP/IP? Что такое IP адрес?
Сколько доступных адресов в сети 192.168.1.0/24?
Поделите эту сеть на две одинаковые подсети и назовите первый и последний доступный айпи адрес в каждой подсети.
В чём разница между TCP и UDP?
Как происходит создание TCP сессии?
На удалённом сервере включён RDP, но я не могу к нему присоединиться, что нужно проверить?
Я не могу присоединиться к удалённому серверу SQL Server, какой порт нужно открыть на брандмауэре?
Что такое VLAN?
Как может происходить маршрутизация пакетов между разными VLAN?
Что такое port security?
В чём разница между WEP и WPA?
Что такое 802.1X?
Что такое VPN?
С какими дистрибутивами Linux вы имели дело?
Какими командами происходит установка нового программного обеспечения в этом дистрибутиве?
Какая информация хранится в /etc/passwd?
Как проще всего управлять удалённым сервером? Какое программное обеспечение вы для этого использовали?
В какой лог-файл записываются ошибки аутентификации SSH?
Как настраивается аутентификация по ключу?
Как дать пользователю доступ к базе данных SQL Server? (реально больше никаких знаний в этой области от людей я не требую — писать запросы это уже есть кого спросить)
С какими облачными ресурсами Azure вы имели дело?
Что такое Infrastructure as Code?
В чём разница между билдом и релизом в Azure DevOps?
Если вам нужно создать двести управляемых облачных дисков, какой инструмент вы будете использовать?
Писали ли вы скрипты Bash или PowerShell?
Что такое переменная? Что такое массив, и какая между ними разница?
Как в скрипте повторить какое-то действие пятьдесят раз?
В чём разница между IaaS, PaaS и SaaS?
Что такое многофакторная аутентификация? Два разных пароля — это двухфакторная аутентификация?

Ну и ещё разное.

Пока даже на половину никто ответить не смог… хотя казалось бы, не до звёзд дотягиваюсь!

Mirrored from Лабораторный Журнал №6

юмор

Microsoft Linux

Дожили. Микрософт выкатили свой дистрибутив Линупса. Называется CBL-Mariner. Брать тут:

https://github.com/microsoft/CBL-Mariner

Только вот по кой хер они взяли за основу Шапку, а не Демьяна, непонятно. APT-то покруче будет, чем RPM.

Сделали полный круг, называется. У них уже был в своё время дистрибутив Юникса, назывался Зиникс (SCO Unix, слегка подпиленный).

Mirrored from Лабораторный Журнал №6

юмор

Из пушки по воробьям

Типичная задача:

Есть список клиентов в файле csv, два столбца: имя клиента и его уникальный идентификатор
Есть список проектов в файле csv, три столбца: имя проекта, дата, и уникальный идентификатор клиента

Надо:

Выводить данные типа: показать проект и имя клиента, с которыми мы работали в октябре/мае/сорок первого мартобря

Как я выполняю эту задачу сейчас: воткнул SQL Server Express, создал БД, всосал csv в две разные таблицы и делаю SELECT … JOIN ON client.id = project.clientid

Работает хорошо, быстро (хотя я и не заморачивался с индексированием), но мне почему-то кажется, что я копаю грядки экскаватором. Можно ли ту же задачу решить попроще, например, в Экселе?

Делать замену в списке проектов по clientid я не хочу — это чо, ручками, что ли? Клиентов-то не одна сотня, руками это делать? Однозначно сразу нахер. Плюс эти файлы генерирую не я, и они постоянно обновляются.

Спасибо, если кто предложит решение попроще. Зачем, спросите, попроще? Затем, чтобы потом это делегировать кому-то другому, а краткий курс SQL я читать не хочу.

Mirrored from Лабораторный Журнал №6

юмор

К психозу дня

Столлман, конечно, мудак с большими прибабахами. Но он сделал для бесплатно-GNU-того ПО больше, чем все его критики, вместе взятые. Где бы они были без того же GCC?

Ну да, можно не соглашаться с тем, что он там неосторожно брякнул. Но вот эта культура возмущения, которая пронизает уже просто все стороны современной жизни, задолбала. Кисо, ты обиделось? Ну и х. с тобой. Правильно ny_quant говорит — единственным ответом на cancel culture должна стать fuck-off culture.

Mirrored from Лабораторный Журнал №6

юмор

Аффтопрограммирование

В автомобили уже давно ставят компьютер с бортовой самодиагностикой. До 1996 года единообразия работы с этим компьютером не было, а теперь везде можно с ним поговорить по набору стандартов OBD2. Раньше сканеры, общающиеся с диагностической системой, были дико дорогими, но теперь цена стала более демократичной, и самые простенькие можно купить монет за 20, а то и ещё дешевле. Однако дешёвые сканеры имеют крайне ограниченные возможности, и способны только на самые примитивные действия — просмотр диагностических кодов (далеко не всех), их стирание. Если же тебе нужна диагностика чего-то более сложного, придётся серьёзно раскошелиться. Вот, например, возьмём такую распространённую вещь как диагностика катализатора. Когда у тебя вылазит код диагностики P0420, причины для него могут быть самые разные. Может быть, датчик кислорода подох. А может быть, и катализатор. Ведь как возникает этот код? У тебя стоят два датчика кислорода — один ДО, другой ПОСЛЕ катализатора (в машинах, которые дизайнили пидарасы в плохом смысле слова, их аж четыре — см. Ниссан). Код ошибки генерируется когда показания этих датчиков ОДИНАКОВЫЕ. Что логично — это означает, что катализатор ничего не делает.

Чтобы однозначно понять, надо ли менять катализатор, надо показания этих датчиков представить графически. Какие показания будут у них до того, как катализатор прогреется до рабочих температур. Какие после. Показания датчика ДО катализатора должны меняться, и довольно сильно. Показания датчика ПОСЛЕ катализатора должны оставаться постоянными. Увидев всё это, легко понять, что происходит. Но сканер OBD2, способный строить графики, уже недёшев — от 150 монет и выше.

Что можно сделать, если у тебя руки растут из (надеюсь) относительно правильных мест? Можно купить компьютерный адаптер на чипе ELM327, который подключается через USB и становится в компьютере дополнительным COM-портом. Они недорогие — за 10 монет можно купить. Затем берём любую терминалку, и цепляемся к этому порту, выставив скорости от 9600 до 38400 и 115200 (зависит от конкретного адаптера). И разговариваем с ним как с обыкновенным модемом. Ага. Он даже командой ATZ ресетится 🙂

Вот так, например:

OKL1 это на самом деле OK, выданное модемом на команду ATL1 (включающую добавление CR в ответы). Иначе человеку некомфортно.
AT@1 это запрос “ты кто такой”, типа ATI7 на модемах US Robotics 🙂

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

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

Существует специальная библиотека Python-OBD, в которой вся эта расшифровка шестнадцатиричной бредятины уже написана, тебе остаётся только её взать и нарисовать, что тебе надо. В частности, оно может выдавать значения напряжения, выдаваемого датчиками кислорода. Остаётся сунуть эти значения в список (во что же ещё), после чего скормить его matplotlib.pyplot, и представить графически хоть чорта бритого, причём ровно так, как тебе надо.

Ну, а те, у кого с программированием не очень, могут приобрести коммерческие программы, работающие с адаптерами на ELM327. Их много всяких, и они недорогие — всяко дешевле 150 долларов.

Надо ещё сказать, что тут есть засада. Стандартные OBD2 коды хорошо документированы. Но есть и специальные, проприетарные коды, для каждой марки свои, и производители не спешат их описывать и выкладывать описание в открытый доступ. Надо же как-то заставить юзверей ушастых покупать обслуживание в дилершипах. Но есть недорогие программы, которые поддерживают и эти коды. Так, для БМВ есть Bimmerscan, а для Фордов есть Forscan, причём на него бесплатно дают пробную лицензию на два месяца. Кроме того, Forscan работает и не с Фордами, просто он не поддерживает специальные коды диагностики для автомобилей других производителей.

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

PS: Хех, вот уж не думал, что теги “автомобили” и “программирование” когда-нибудь встретятся.

Mirrored from Лабораторный Журнал №6

юмор

Компьютерное

Проапгрейдил жёсткий диск в компьютере. Был 1 “терабайт”, стало 2. В кавычках потому что производители используют альтернативную математику — 1 терабайт у них это 1000 гигабайт, а не 1024.

Тупо перекинул всё Акронисом, благо с твёрдотела на твёрдотел всё копируется моментально. Лет 10 назад я бы всё переставил нахер с нуля, а щас настолько лениво всё это делать! Это что же, все программы с нуля переустанавливать, все игры, все настройки? Нафиг-нафиг.

А ещё я сделал одну вещь, которую тоже не стал бы делать 10 лет назад. Купил игровой ноутбук MSI. Это раньше я думал (ошибочно), что Компьютеры должны быть Большие и Железные, а теперь я ничего такого предосудительного в ноутбуках не вижу. Ноутбук не сильно выпендрёжный, но в нём стоит Нвидия 2060, ничуть не меньше по мощности, чем 1070 GTX, что стоит в стационарном компе. Игры идут замечательно. Да и всё остальное тоже.

Майкрософт, наконец-то, блин, решил давно существующую проблему: как получить компьютер, который может одновременно играть в игры, и работать с софтом под Линукс, которому нужна CUDA, и чтобы без установки двух ОС в многозагрузочной конфигурации. Я уже давно использую WSL (Windows Subsystem for Linux). Это позволяет постоянно иметь под рукой Линукс, на котором можно разрабатывать софт, не отходя от кассы. Не надо путать WSL с Cygwin — WSL это полноценный линукс, запускающий линуксовые же бинарники, а не перекомпилированный в экзешники линуксовый софт. Ещё в нём удобно обмениваться файлами с линуксовой подсистемой — ибо WSL создаёт скрытую шару \\wsl$, из которой ты имеешь возможность обращаться напрямую к / в линуксовой виртуалке.

Так вот, выяснилось, что начиная с WSL версии 2, ресурсы графического процессора нормально прокидываются к гостевой ОС, так что там можно запускать TensorFlow, Caffe, и прочие интересные вещи без того, чтобы тормозить и всё выполнять на центральном процессоре. Так что впервые, блин, можно и на ёлку залезть и не оцарапаться. Раньше подобные задачи решались установкой Линукса в качестве основной ОС, и водружением на него системы виртуализации Xen, которая запускала машину с Виндоуз, в которой уже можно было запускать игры, ибо Xen умеет пробрасывать GPU до гостевой ОС.

Конечно, есть небольшая потеря производительности и в том, и в другом случае. Но потеря производительности на 10% в играх — намного заметнее, чем потеря производительности на 10% при исполнении TensorFlow. Так что как ни крути, а всё же в этом отношении Виндоуз лучше Линукса.

Mirrored from Лабораторный Журнал №6

юмор

Программисты против тестеров

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

Mirrored from Лабораторный Журнал №6

юмор

Про CentOS

Как я уже писал, CentOS сдох. И хрен бы с ним.

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

В небольших количествах лицензии на RHEL теперь раздаются бесплатно.

Хорошо сделали.

Mirrored from Лабораторный Журнал №6

юмор

Фотогимп

На Линуксе для обработки картинок выбор софта очень небольшой. Наиболее продвинутым является GIMP. Важное замечание: “наиболее продвинутый” не значит “хороший”. Это значит, что он говно, но всё остальное — ещё хуже. Помимо отсутствия искоропки некоторых нужных мне фич (динамические эффекты слоёв), у него ещё дико непродуманный интерфейс. Ну, такое часто получается, когда интерфейс пишут программисты, а не спецы по UI. Программисту кажется, что в интерфейсе всё удобно и логично, но пользоваться этим решительно невозможно. Это вполне ожидаемая вешь, кстати. Когда что-то пишешь “для себя”, это совершенно не значит, что это будет так же хорошо “для других”. Чаще наоборот.

Недавно выкатили продукт под названием PhotoGIMP. Это типа GIMP, но с интерфейсом от Фотошопа. Попробовал, поставил, вдруг кактус стал слаще?? Оказалось, не стал. Это по-прежнему кактус, только теперь не зелёный, а серый. Пользоваться по-прежнему можно только от глубокой безнадёги. “А как дысали, как дысали!”

В английском есть такое меткое выражение — “lipstick on a pig”. Дословно — губная помада на свинье. Это означает, что ты безуспешно пытаешься что-то облагородить, но ограничиваешься чисто внешней частью дела. Свинья с нанесённой губной помадой по-прежнему остаётся свиньёй.

Mirrored from Лабораторный Журнал №6

юмор

CentOS — всё

UPDATE: Я эту запись уже второй день пытаюсь в ЖЖ опубликовать. Извиняюсь за спам. Попробуем ещё разик.

И хер бы с ним. Никогда эту грёбаную Шапку и производные не любил. Если бы не YellowDog, подаривший Шапке yum, установка софта на Шапке до сих пор была бы извращённым сексом с закоулками, потому что rpm не может в автоматическую установку необходимых сопутствующих библиотек.

Уточню. CentOS не совсем “всё”, просто раньше это был, по сути, слегка переделанный RHEL, а теперь это будет называется CentOS Stream, и он будет являться не переделанным RHEL, а его бета-версией. Что автоматически означает, что в производство его ставить нельзя.

Так что с точки зрения сисадминов CentOS — таки “всё”!

Mirrored from Лабораторный Журнал №6